From 2e44aff5f068b883a6d26dcc0614aae571609fe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Brunner?= Date: Thu, 6 Sep 2012 18:16:20 +0200 Subject: [PATCH 1/2] Prevent KeyboardDefaults.js from triggering keyboard events when user is typing into the form elements for IE --- lib/OpenLayers/Control/KeyboardDefaults.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/OpenLayers/Control/KeyboardDefaults.js b/lib/OpenLayers/Control/KeyboardDefaults.js index 8b1d4e17a3..08452a0102 100644 --- a/lib/OpenLayers/Control/KeyboardDefaults.js +++ b/lib/OpenLayers/Control/KeyboardDefaults.js @@ -76,14 +76,15 @@ OpenLayers.Control.KeyboardDefaults = OpenLayers.Class(OpenLayers.Control, { defaultKeyPress: function (evt) { var size, handled = true; - if((typeof evt.target) != 'undefined' && - (evt.target.tagName == 'INPUT' || - evt.target.tagName == 'TEXTAREA' || - evt.target.tagName == 'SELECT')) { + var target = evt.target || evt.srcElement; + if (target && + (target.tagName == 'INPUT' || + target.tagName == 'TEXTAREA' || + target.tagName == 'SELECT')) { return; } - switch(evt.keyCode) { + switch (evt.keyCode) { case OpenLayers.Event.KEY_LEFT: this.map.pan(-this.slideFactor, 0); break; From f1e7425821529235b87887d42e58c204f605f64b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Brunner?= Date: Fri, 7 Sep 2012 09:39:16 +0200 Subject: [PATCH 2/2] use OpenLayers.Event.element --- lib/OpenLayers/Control/KeyboardDefaults.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/OpenLayers/Control/KeyboardDefaults.js b/lib/OpenLayers/Control/KeyboardDefaults.js index 08452a0102..e5c6786977 100644 --- a/lib/OpenLayers/Control/KeyboardDefaults.js +++ b/lib/OpenLayers/Control/KeyboardDefaults.js @@ -6,6 +6,7 @@ /** * @requires OpenLayers/Control.js * @requires OpenLayers/Handler/Keyboard.js + * @requires OpenLayers/Events.js */ /** @@ -76,7 +77,7 @@ OpenLayers.Control.KeyboardDefaults = OpenLayers.Class(OpenLayers.Control, { defaultKeyPress: function (evt) { var size, handled = true; - var target = evt.target || evt.srcElement; + var target = OpenLayers.Event.element(evt); if (target && (target.tagName == 'INPUT' || target.tagName == 'TEXTAREA' ||