diff --git a/js/src/modal.js b/js/src/modal.js index 1c7a96adc8..455d395f7a 100644 --- a/js/src/modal.js +++ b/js/src/modal.js @@ -120,8 +120,8 @@ class Modal extends BaseComponent { this._adjustDialog() - this._setEscapeEvent() - this._setResizeEvent() + this._toggleEscapeEventListener(true) + this._toggleResizeEventListener(true) EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => { EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => { @@ -148,8 +148,8 @@ class Modal extends BaseComponent { this._isShown = false this._isTransitioning = true - this._setEscapeEvent() - this._setResizeEvent() + this._toggleEscapeEventListener(false) + this._toggleResizeEventListener(false) this._focustrap.deactivate() @@ -234,8 +234,8 @@ class Modal extends BaseComponent { this._queueCallback(transitionComplete, this._dialog, this._isAnimated()) } - _setEscapeEvent() { - if (!this._isShown) { + _toggleEscapeEventListener(enable) { + if (!enable) { EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS) return } @@ -255,8 +255,8 @@ class Modal extends BaseComponent { }) } - _setResizeEvent() { - if (this._isShown) { + _toggleResizeEventListener(enable) { + if (enable) { EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog()) return }