From ed10458b214a117334d3d01d24877047ff203baf 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 2a9e29c2aa71..78d7f691b421 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 b14cbd1a23fd..3bb7a29f7f1e 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 eeec9076d52a..ecabafb3f8b9 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -230,7 +230,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 40fd226bf66e..c2e73cb28a31 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 c7472439be3e..770059fe3c67 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 ea91163d8470..577f3f884e3a 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 979bd077382c..3a0d52323543 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) {