diff options
| author | GeoSot <[email protected]> | 2022-10-06 11:31:38 +0300 |
|---|---|---|
| committer | XhmikosR <[email protected]> | 2022-11-21 20:12:43 +0200 |
| commit | 7e3074c16540eacea303266fdf235aecdd9cf5c3 (patch) | |
| tree | 84c3811148db12648005bec1e01998b11a1149a9 /js | |
| parent | 127a816f7768f8f5436709fb4d05580cd6e251e4 (diff) | |
| download | bootstrap-7e3074c16540eacea303266fdf235aecdd9cf5c3.tar.xz bootstrap-7e3074c16540eacea303266fdf235aecdd9cf5c3.zip | |
fix tooltip/popper disposal inconsistencies (#37235)
Diffstat (limited to 'js')
| -rw-r--r-- | js/src/tooltip.js | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/js/src/tooltip.js b/js/src/tooltip.js index e01f0a4ae..70198c81b 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -172,10 +172,6 @@ class Tooltip extends BaseComponent { EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler) - if (this.tip) { - this.tip.remove() - } - if (this._element.getAttribute('data-bs-original-title')) { this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')) } @@ -202,10 +198,7 @@ class Tooltip extends BaseComponent { } // todo v6 remove this OR make it optional - if (this.tip) { - this.tip.remove() - this.tip = null - } + this._disposePopper() const tip = this._getTipElement() @@ -218,11 +211,7 @@ class Tooltip extends BaseComponent { EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)) } - if (this._popper) { - this._popper.update() - } else { - this._popper = this._createPopper(tip) - } + this._popper = this._createPopper(tip) tip.classList.add(CLASS_NAME_SHOW) @@ -281,13 +270,11 @@ class Tooltip extends BaseComponent { } if (!this._isHovered) { - tip.remove() + this._disposePopper() } this._element.removeAttribute('aria-describedby') EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN)) - - this._disposePopper() } this._queueCallback(complete, this.tip, this._isAnimated()) @@ -612,6 +599,11 @@ class Tooltip extends BaseComponent { this._popper.destroy() this._popper = null } + + if (this.tip) { + this.tip.remove() + this.tip = null + } } // Static |
