From 0bbe45cd977ae69f11b4cdd55e5d5be08e4a137a Mon Sep 17 00:00:00 2001 From: GeoSot Date: Tue, 20 Apr 2021 08:26:58 +0300 Subject: Tab.js: Fixes on click handling (#33586) * use prevent default only if triggered by anchor * disable auto-initialization if trigger is disabled --- js/src/tab.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'js/src/tab.js') diff --git a/js/src/tab.js b/js/src/tab.js index ffca5f299e..4d823cc61c 100644 --- a/js/src/tab.js +++ b/js/src/tab.js @@ -66,8 +66,7 @@ class Tab extends BaseComponent { show() { if ((this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && - this._element.classList.contains(CLASS_NAME_ACTIVE)) || - isDisabled(this._element)) { + this._element.classList.contains(CLASS_NAME_ACTIVE))) { return } @@ -202,7 +201,13 @@ class Tab extends BaseComponent { */ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { - event.preventDefault() + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault() + } + + if (isDisabled(this)) { + return + } const data = Data.get(this, DATA_KEY) || new Tab(this) data.show() -- cgit v1.2.3