From b988931ac44e0e4c8a5ffaa2b6bde22826de086f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=AB=8B=E5=B8=AE?= <3294713004@qq.com> Date: Sun, 1 Sep 2024 14:13:46 +0800 Subject: [PATCH] =?UTF-8?q?Update:=20=E8=B0=83=E6=95=B4tab=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/modules/web-modules/chrome-tabs.js | 44 +++++++---------------- 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/common/modules/web-modules/chrome-tabs.js b/common/modules/web-modules/chrome-tabs.js index cdb88ed8..33254797 100644 --- a/common/modules/web-modules/chrome-tabs.js +++ b/common/modules/web-modules/chrome-tabs.js @@ -68,8 +68,18 @@ instanceId += 1 this.setupCustomProperties() - // this.setupStyleEl() - this.setupEvents() + $(this.el).on('click', '.chrome-tab', (event) => { + this.setCurrentTab(event.currentTarget) + }) + + $(this.el).on('click', '.chrome-tab-close', (event) => { + event.stopPropagation() + const $tab = $(event.currentTarget).closest('.chrome-tab') + if (!this.checkDestroy({ detail: { tabEl: $tab[0] } })) { + return + } + this.removeTab($tab[0]) + }) } emit(eventName, data) { @@ -85,18 +95,6 @@ this.el.appendChild(this.styleEl) } - setupEvents() { - /*this.el.addEventListener('dblclick', event => { - if ([this.el, this.tabContentEl].includes(event.target)) this.addTab() - })*/ - - this.tabEls.forEach((tabEl) => this.setTabCloseEventListener(tabEl)) - } - - get tabEls() { - return Array.prototype.slice.call(this.el.querySelectorAll('.chrome-tab')) - } - get tabContentEl() { return this.el.querySelector('.x-scrollbar__content') ?? this.el.querySelector('.chrome-tabs-content') } @@ -117,30 +115,12 @@ tabProperties = Object.assign({}, defaultTapProperties, tabProperties) this.tabContentEl.appendChild(tabEl) - this.setTabClickEventListener(tabEl) - this.setTabCloseEventListener(tabEl) this.updateTab(tabEl, tabProperties) this.emit('created', { tabEl }) if (!background) this.setCurrentTab(tabEl) return tabEl; } - setTabClickEventListener(tabEl) { - tabEl.addEventListener('click', event => { - this.setCurrentTab(tabEl) - }); - } - - setTabCloseEventListener(tabEl) { - tabEl.querySelector('.chrome-tab-close').addEventListener('click', event => { - event.stopPropagation() - if (!this.checkDestroy({ detail: { tabEl } })) { - return - } - this.removeTab(tabEl) - }) - } - get activeTabEl() { return this.el.querySelector('.chrome-tab[active]') }