preventDefault and stopPropagation convenience functions.

These functions can directly be used as browser event listeners.
This commit is contained in:
ahocevar
2012-07-08 12:12:19 +02:00
parent e8ac3f1a6b
commit e67e9049ca
2 changed files with 16 additions and 18 deletions

View File

@@ -43,8 +43,8 @@ ol.event.Drag = function(target) {
}
// no default for mousemove and touchmove events to avoid page scrolling.
target.register('mousemove', this.preventDefault);
target.register('touchmove', this.preventDefault);
target.register('mousemove', ol.event.preventDefault);
target.register('touchmove', ol.event.preventDefault);
dragger.defaultAction = function(x, y) {};
dragger.addEventListener(goog.fx.Dragger.EventType.START, function(evt) {
@@ -83,17 +83,10 @@ ol.event.Drag = function(target) {
);
};
/**
* @private
*/
ol.event.Drag.prototype.preventDefault = function(evt) {
evt.preventDefault();
};
/** @inheritDoc */
ol.event.Drag.prototype.destroy = function() {
this.target_.unregister('mousemove', this.preventDefault);
this.target_.unregister('touchmove', this.preventDefault);
this.target_.unregister('mousemove', ol.event.preventDefault);
this.target_.unregister('touchmove', ol.event.preventDefault);
this.dragger_.dispose();
goog.object.clear(this);
};

View File

@@ -42,16 +42,21 @@ ol.event.isMultiTouch = function(evt) {
};
/**
* Is the event a keyboard event with Enter or Space pressed?
* Call preventDefault on the provided event.
*
* @param {!Event} evt
* @return {boolean}
*/
ol.event.isEnterOrSpace = function(evt) {
return evt.type === "keypress" &&
(evt.keyCode === goog.events.KeyCodes.ENTER ||
evt.keyCode === goog.events.KeyCodes.SPACE ||
evt.keyCode === goog.events.KeyCodes.MAC_ENTER);
ol.event.preventDefault = function(evt) {
evt.preventDefault();
};
/**
* Call stopPropagation on the provided event.
*
* @param {!Event} evt
*/
ol.event.stopPropagation = function(evt) {
evt.stopPropagation();
};