diff options
author | GeoSot <geo.sotis@gmail.com> | 2021-04-20 08:26:58 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-20 08:26:58 +0300 |
commit | 0bbe45cd977ae69f11b4cdd55e5d5be08e4a137a (patch) | |
tree | 3a66a5e3d2e88baa8cc0298a00b569df972c9b69 /js/src/tab.js | |
parent | b59b75bc55ad9d5d2d0259f6b3364a7bcb82b033 (diff) |
Tab.js: Fixes on click handling (#33586)
* use prevent default only if triggered by anchor
* disable auto-initialization if trigger is disabled
Diffstat (limited to 'js/src/tab.js')
-rw-r--r-- | js/src/tab.js | 11 |
1 files changed, 8 insertions, 3 deletions
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() |