Create a function -- OpenLayers.Util.getElement -- which replaces "$". This

should be used in all library code. This patch replaces all uses of "$()" in
existing code. The primary reason for this is to avoid conflicts with libraries
(like Prototype) which might redefine this function differently.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@2541 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
crschmidt
2007-03-08 20:14:03 +00:00
parent be1ef0ef47
commit c66f1ce360
37 changed files with 117 additions and 98 deletions

View File

@@ -694,42 +694,42 @@ OpenLayers.Bounds.oppositeQuadrant = function(quadrant) {
OpenLayers.Element = {
visible: function(element) {
return $(element).style.display != 'none';
return OpenLayers.Util.getElement(element).style.display != 'none';
},
toggle: function() {
for (var i = 0; i < arguments.length; i++) {
var element = $(arguments[i]);
var element = OpenLayers.Util.getElement(arguments[i]);
OpenLayers.Element[OpenLayers.Element.visible(element) ? 'hide' : 'show'](element);
}
},
hide: function() {
for (var i = 0; i < arguments.length; i++) {
var element = $(arguments[i]);
var element = OpenLayers.Util.getElement(arguments[i]);
element.style.display = 'none';
}
},
show: function() {
for (var i = 0; i < arguments.length; i++) {
var element = $(arguments[i]);
var element = OpenLayers.Util.getElement(arguments[i]);
element.style.display = '';
}
},
remove: function(element) {
element = $(element);
element = OpenLayers.Util.getElement(element);
element.parentNode.removeChild(element);
},
getHeight: function(element) {
element = $(element);
element = OpenLayers.Util.getElement(element);
return element.offsetHeight;
},
getDimensions: function(element) {
element = $(element);
element = OpenLayers.Util.getElement(element);
if (OpenLayers.Element.getStyle(element, 'display') != 'none')
return {width: element.offsetWidth, height: element.offsetHeight};
@@ -750,7 +750,7 @@ OpenLayers.Element = {
},
getStyle: function(element, style) {
element = $(element);
element = OpenLayers.Util.getElement(element);
var value = element.style[style.camelize()];
if (!value) {
if (document.defaultView && document.defaultView.getComputedStyle) {

View File

@@ -26,7 +26,7 @@ OpenLayers.Control.Permalink.prototype =
*/
initialize: function(element, base) {
OpenLayers.Control.prototype.initialize.apply(this, arguments);
this.element = element;
this.element = OpenLayers.Util.getElement(element);
if (base) {
this.base = base;
}

View File

@@ -22,7 +22,7 @@ OpenLayers.Control.Scale.prototype =
*/
initialize: function(element) {
OpenLayers.Control.prototype.initialize.apply(this, arguments);
this.element = element;
this.element = OpenLayers.Util.getElement(element);
},
/**

View File

@@ -76,7 +76,7 @@ OpenLayers.Event = {
},
observe: function(elementParam, name, observer, useCapture) {
var element = $(elementParam);
var element = OpenLayers.Util.getElement(elementParam);
useCapture = useCapture || false;
if (name == 'keypress' &&
@@ -88,7 +88,7 @@ OpenLayers.Event = {
},
stopObserving: function(elementParam, name, observer, useCapture) {
var element = $(elementParam);
var element = OpenLayers.Util.getElement(elementParam);
useCapture = useCapture || false;
if (name == 'keypress' &&

View File

@@ -68,7 +68,7 @@ OpenLayers.Layer.Yahoo.prototype =
* @private
*/
fixYahooEventPane: function() {
var yahooEventPane = $("ygddfdiv");
var yahooEventPane = OpenLayers.Util.getElement("ygddfdiv");
if (yahooEventPane != null) {
if (yahooEventPane.parentNode != null)
yahooEventPane.parentNode.removeChild(yahooEventPane);

View File

@@ -135,7 +135,7 @@ OpenLayers.Map.prototype = {
*/
initialize: function (div, options) {
this.div = div = $(div);
this.div = div = OpenLayers.Util.getElement(div);
// the viewPortDiv is the outermost div we modify
var id = div.id + "_OpenLayers_ViewPort";

View File

@@ -8,25 +8,31 @@
*/
OpenLayers.Util = new Object();
/* from Prototype.js */
if ($ == null) {
var $ = function () {
var elements = new Array();
/**
* This is the old $() from prototype
*/
OpenLayers.Util.getElement = function() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
if (typeof element == 'string') {
element = document.getElementById(element);
}
if (arguments.length == 1) {
return element;
}
elements.push(element);
}
return elements;
}
}
return elements;
};
/**
* Maintain $() from prototype
*/
if ($ == null) {
var $ = OpenLayers.Util.getElement;
}
/* from Prototype.js */
OpenLayers.Util.extend = function(destination, source) {