From 44df1fa7d6766cf84929aa8995bd9a6d1ff9a5b9 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Tue, 23 Mar 2021 01:49:47 +0200 Subject: [PATCH] remove element event-listeners through base-component --- js/src/base-component.js | 2 ++ js/src/carousel.js | 2 -- js/src/dropdown.js | 1 - js/src/modal.js | 2 +- js/src/scrollspy.js | 1 - js/src/toast.js | 2 -- js/src/tooltip.js | 1 - 7 files changed, 3 insertions(+), 8 deletions(-) diff --git a/js/src/base-component.js b/js/src/base-component.js index 14e13a0eb71b..77d54faadc73 100644 --- a/js/src/base-component.js +++ b/js/src/base-component.js @@ -6,6 +6,7 @@ */ import Data from './dom/data' +import EventHandler from './dom/event-handler' /** * ------------------------------------------------------------------------ @@ -29,6 +30,7 @@ class BaseComponent { dispose() { Data.remove(this._element, this.constructor.DATA_KEY) + EventHandler.off(this._element, `.${this.constructor.DATA_KEY}`) this._element = null } diff --git a/js/src/carousel.js b/js/src/carousel.js index 76581ca5d42c..1710df9d388c 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -216,8 +216,6 @@ class Carousel extends BaseComponent { } dispose() { - EventHandler.off(this._element, EVENT_KEY) - this._items = null this._config = null this._interval = null diff --git a/js/src/dropdown.js b/js/src/dropdown.js index d00cff65c47c..6945d15df648 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -229,7 +229,6 @@ class Dropdown extends BaseComponent { } dispose() { - EventHandler.off(this._element, EVENT_KEY) this._menu = null if (this._popper) { diff --git a/js/src/modal.js b/js/src/modal.js index 2966f03fb5d1..8680d5528b87 100644 --- a/js/src/modal.js +++ b/js/src/modal.js @@ -191,7 +191,7 @@ class Modal extends BaseComponent { } dispose() { - [window, this._element, this._dialog] + [window, this._dialog] .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY)) super.dispose() diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js index 3667b9a12dd0..dc1b42d75a66 100644 --- a/js/src/scrollspy.js +++ b/js/src/scrollspy.js @@ -139,7 +139,6 @@ class ScrollSpy extends BaseComponent { dispose() { super.dispose() - EventHandler.off(this._scrollElement, EVENT_KEY) this._scrollElement = null this._config = null diff --git a/js/src/toast.js b/js/src/toast.js index 01b994e28548..5d762b29da06 100644 --- a/js/src/toast.js +++ b/js/src/toast.js @@ -156,8 +156,6 @@ class Toast extends BaseComponent { this._element.classList.remove(CLASS_NAME_SHOW) } - EventHandler.off(this._element, EVENT_CLICK_DISMISS) - super.dispose() this._config = null } diff --git a/js/src/tooltip.js b/js/src/tooltip.js index 4fea1c9646e3..63c7516a1678 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -215,7 +215,6 @@ class Tooltip extends BaseComponent { dispose() { clearTimeout(this._timeout) - EventHandler.off(this._element, this.constructor.EVENT_KEY) EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler) if (this.tip && this.tip.parentNode) {