Check whether an event target should be considered for handling.

This commit is contained in:
ahocevar
2012-08-01 10:20:25 +02:00
parent 940c0e8ca2
commit 98569203a6

View File

@@ -121,6 +121,26 @@ OpenLayers.Events.buttonclick = OpenLayers.Class({
} while(--depth > 0 && element);
return button;
},
/**
* Method: ignore
* Check for event target elements that should be ignored by OpenLayers.
*
* Parameters:
* element - {DOMElement} The event target.
*/
ignore: function(element) {
var depth = 3,
ignore = false;
do {
if (element.nodeName.toLowerCase() === 'a') {
ignore = true;
break;
}
element = element.parentNode;
} while (--depth > 0 && element);
return ignore;
},
/**
* Method: buttonClick
@@ -170,6 +190,7 @@ OpenLayers.Events.buttonclick = OpenLayers.Class({
propagate = false;
}
} else {
propagate = !this.ignore(OpenLayers.Event.element(evt));
delete this.startEvt;
}
}