Use the originalEvent in the targetNotEditable condition
This commit is contained in:
@@ -207,12 +207,9 @@ export const shiftKeyOnly = function(mapBrowserEvent) {
|
|||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
export const targetNotEditable = function(mapBrowserEvent) {
|
export const targetNotEditable = function(mapBrowserEvent) {
|
||||||
const target = mapBrowserEvent.target;
|
const originalEvent = /** @type {KeyboardEvent|MouseEvent|TouchEvent} */ (mapBrowserEvent.originalEvent);
|
||||||
const tagName = /** @type {Element} */ (target).tagName;
|
const tagName = /** @type {Element} */ (originalEvent.target).tagName;
|
||||||
return (
|
return tagName !== 'INPUT' && tagName !== 'SELECT' && tagName !== 'TEXTAREA';
|
||||||
tagName !== 'INPUT' &&
|
|
||||||
tagName !== 'SELECT' &&
|
|
||||||
tagName !== 'TEXTAREA');
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,21 @@ describe('ol.interaction.KeyboardZoom', function() {
|
|||||||
|
|
||||||
view.animateInternal.restore();
|
view.animateInternal.restore();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('does nothing if the target is editable', function() {
|
||||||
|
const view = map.getView();
|
||||||
|
const spy = sinon.spy(view, 'animateInternal');
|
||||||
|
const event = new MapBrowserEvent('keydown', map, {
|
||||||
|
type: 'keydown',
|
||||||
|
target: document.createElement('input'),
|
||||||
|
preventDefault: Event.prototype.preventDefault
|
||||||
|
});
|
||||||
|
|
||||||
|
event.originalEvent.charCode = '+'.charCodeAt(0);
|
||||||
|
map.handleMapBrowserEvent(event);
|
||||||
|
expect(spy.called).to.be(false);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user