make the keyboard handler work on the map div as opposed to the document

This commit is contained in:
Éric Lemoine
2012-01-24 13:58:44 +01:00
parent cd41548c01
commit e15dde0561

View File

@@ -73,7 +73,7 @@ OpenLayers.Handler.Keyboard = OpenLayers.Class(OpenLayers.Handler, {
if (OpenLayers.Handler.prototype.activate.apply(this, arguments)) {
for (var i=0, len=this.KEY_EVENTS.length; i<len; i++) {
OpenLayers.Event.observe(
document, this.KEY_EVENTS[i], this.eventListener);
this.map.div, this.KEY_EVENTS[i], this.eventListener);
}
return true;
} else {
@@ -89,7 +89,7 @@ OpenLayers.Handler.Keyboard = OpenLayers.Class(OpenLayers.Handler, {
if (OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
for (var i=0, len=this.KEY_EVENTS.length; i<len; i++) {
OpenLayers.Event.stopObserving(
document, this.KEY_EVENTS[i], this.eventListener);
this.map.div, this.KEY_EVENTS[i], this.eventListener);
}
deactivated = true;
}