mirror of
https://github.com/Choices-js/Choices.git
synced 2024-06-09 01:12:15 +02:00
scope keydown
This commit is contained in:
parent
54b14012df
commit
49f251cd0d
|
@ -1225,8 +1225,12 @@ class Choices {
|
||||||
const { documentElement } = document;
|
const { documentElement } = document;
|
||||||
|
|
||||||
// capture events - can cancel event processing or propagation
|
// capture events - can cancel event processing or propagation
|
||||||
documentElement.addEventListener('keydown', this._onKeyDown, true);
|
|
||||||
documentElement.addEventListener('touchend', this._onTouchEnd, true);
|
documentElement.addEventListener('touchend', this._onTouchEnd, true);
|
||||||
|
this.containerOuter.element.addEventListener(
|
||||||
|
'keydown',
|
||||||
|
this._onKeyDown,
|
||||||
|
true,
|
||||||
|
);
|
||||||
this.containerOuter.element.addEventListener(
|
this.containerOuter.element.addEventListener(
|
||||||
'mousedown',
|
'mousedown',
|
||||||
this._onMouseDown,
|
this._onMouseDown,
|
||||||
|
@ -1274,8 +1278,12 @@ class Choices {
|
||||||
_removeEventListeners() {
|
_removeEventListeners() {
|
||||||
const { documentElement } = document;
|
const { documentElement } = document;
|
||||||
|
|
||||||
documentElement.removeEventListener('keydown', this._onKeyDown, true);
|
|
||||||
documentElement.removeEventListener('touchend', this._onTouchEnd, true);
|
documentElement.removeEventListener('touchend', this._onTouchEnd, true);
|
||||||
|
this.containerOuter.element.removeEventListener(
|
||||||
|
'keydown',
|
||||||
|
this._onKeyDown,
|
||||||
|
true,
|
||||||
|
);
|
||||||
this.containerOuter.element.removeEventListener(
|
this.containerOuter.element.removeEventListener(
|
||||||
'mousedown',
|
'mousedown',
|
||||||
this._onMouseDown,
|
this._onMouseDown,
|
||||||
|
@ -1302,13 +1310,13 @@ class Choices {
|
||||||
this.input.removeEventListeners();
|
this.input.removeEventListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {KeyboardEvent} event
|
||||||
|
*/
|
||||||
_onKeyDown(event) {
|
_onKeyDown(event) {
|
||||||
const { target, keyCode, ctrlKey, metaKey } = event;
|
const { target, keyCode, ctrlKey, metaKey } = event;
|
||||||
|
|
||||||
if (
|
if (target !== this.input.element) {
|
||||||
target !== this.input.element &&
|
|
||||||
!this.containerOuter.element.contains(target)
|
|
||||||
) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue