From d8599f28b9826f056fee83cdfe97c5b6080aed60 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Sun, 24 Jun 2012 19:53:42 +0200 Subject: [PATCH] Let the controls decide about stopPropagation and preventDefault. --- src/ol/control/Navigation.js | 2 ++ src/ol/control/Zoom.js | 7 +++++++ src/ol/event/Events.js | 5 +---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ol/control/Navigation.js b/src/ol/control/Navigation.js index 6161a60cfd..2adaf5b570 100644 --- a/src/ol/control/Navigation.js +++ b/src/ol/control/Navigation.js @@ -63,6 +63,8 @@ ol.control.Navigation.prototype.zoomMap = function(evt) { return; } map.setZoom(map.getZoom()-delta, map.getEvents().getPointerPosition(evt)); + // We don't want the page to scroll. + evt.preventDefault(); return false; }; diff --git a/src/ol/control/Zoom.js b/src/ol/control/Zoom.js index c92f7a95de..a9edfab2ca 100644 --- a/src/ol/control/Zoom.js +++ b/src/ol/control/Zoom.js @@ -91,6 +91,13 @@ ol.control.Zoom.prototype.handle = function(evt) { this.map_.zoomOut(); handled = true; } + if (handled) { + // Stop default behavior (i.e. don't follow link to anchor) + evt.preventDefault(); + // On Android 2.3, the above does not prevent the link from being + // followed, but stopPropagation does. + evt.stopPropagation(); + } } return !handled; }; diff --git a/src/ol/event/Events.js b/src/ol/event/Events.js index f55b552310..f451f19e96 100644 --- a/src/ol/event/Events.js +++ b/src/ol/event/Events.js @@ -288,10 +288,7 @@ ol.event.Events.prototype.handleBrowserEvent = function(evt) { if (this.includeXY_) { evt.xy = this.getPointerPosition(evt); } - if (this.triggerEvent(evt.type, evt) === false) { - evt.stopPropagation(); - evt.preventDefault(); - } + this.triggerEvent(evt.type, evt); } };