From cbebcd0bf6231b625c46de6d0c80ffb1b5b6d9ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Wed, 25 Jan 2012 10:38:17 +0100 Subject: [PATCH] make the KeyboardDefaults control prevent browser default after handling a key press --- lib/OpenLayers/Control/KeyboardDefaults.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/OpenLayers/Control/KeyboardDefaults.js b/lib/OpenLayers/Control/KeyboardDefaults.js index f3505353f0..ee4b38c5d9 100644 --- a/lib/OpenLayers/Control/KeyboardDefaults.js +++ b/lib/OpenLayers/Control/KeyboardDefaults.js @@ -62,7 +62,7 @@ OpenLayers.Control.KeyboardDefaults = OpenLayers.Class(OpenLayers.Control, { * evt - {Event} */ defaultKeyPress: function (evt) { - var size; + var size, handled = true; switch(evt.keyCode) { case OpenLayers.Event.KEY_LEFT: this.map.pan(-this.slideFactor, 0); @@ -106,7 +106,14 @@ OpenLayers.Control.KeyboardDefaults = OpenLayers.Class(OpenLayers.Control, { case 95: // -/_ (some ASCII) this.map.zoomOut(); break; - } + default: + handled = false; + } + if (handled) { + // prevent browser default not to move the page + // when moving the page with the keyboard + OpenLayers.Event.stop(evt); + } }, CLASS_NAME: "OpenLayers.Control.KeyboardDefaults"