Accept string for keyboardEventTarget option

This commit is contained in:
Éric Lemoine
2013-10-20 12:09:31 +02:00
parent cf5aada8cf
commit a91e6e2442
2 changed files with 10 additions and 3 deletions

View File

@@ -30,7 +30,8 @@
* then it gets set by using `window.devicePixelRatio`.
* @property {ol.Collection|Array.<ol.interaction.Interaction>|undefined} interactions
* Interactions that are initially added to the map.
* @property {Element|Document|undefined} keyboardEventTarget The element to listen to keyboard events on.
* @property {Element|Document|string|undefined} keyboardEventTarget
* The element to listen to keyboard events on.
* This determines when the `KeyboardPan` and `KeyboardZoom` interactions trigger. For example, if
* this option is set to `document` the keyboard interactions will always trigger. If this option
* is not specified, the element the library listens to keyboard events on is the map target (i.e.

View File

@@ -1336,8 +1336,14 @@ ol.Map.createOptionsInternal = function(options) {
/**
* @type {Element|Document}
*/
var keyboardEventTarget = goog.isDef(options.keyboardEventTarget) ?
options.keyboardEventTarget : null;
var keyboardEventTarget = null;
if (goog.isDef(options.keyboardEventTarget)) {
// cannot use goog.dom.getElement because its argument cannot be
// of type Document
keyboardEventTarget = goog.isString(options.keyboardEventTarget) ?
document.getElementById(options.keyboardEventTarget) :
options.keyboardEventTarget;
}
/**
* @type {Object.<string, *>}