fix: tab menu

This commit is contained in:
MoonLeeeaf
2024-06-15 22:41:41 +08:00
parent facf7cb3fe
commit 045ed60211

View File

@@ -306,16 +306,12 @@ class ChatTabManager {
this.tabs[target] = null this.tabs[target] = null
} }
static initTabElementEvents() { static initTabElementEvents() {
let listeners = {}
let menu let menu
let callback = (e) => { let callback = (e) => {
if (menu) menu.close() if (menu) menu.close()
// 切到 div.message-content // 切到 div.message-content
let ele = e.get(0) let ele = e.get(0)
while ($(ele).attr("tag") != "msg-card") let menuHtml = $.parseHTML(`<ul class="mdui-menu">
ele = ele.parentNode
e = $(ele)
let menuHtml = $.parseHTML(`<ul class="mdui-menu menu-on-message">
<li class="mdui-menu-item"> <li class="mdui-menu-item">
<a onclick="copyText(\`${e.find("#msg-content").text()}\`)" class="mdui-ripple">复制</a> <a onclick="copyText(\`${e.find("#msg-content").text()}\`)" class="mdui-ripple">复制</a>
</li> </li>
@@ -338,7 +334,7 @@ class ChatTabManager {
}) })
menu.open() menu.open()
} }
viewBinding.pageChatSeesion.on('contextmenu mousedown mouseup', '.message-content', (e) => { viewBinding.chatTab.on('contextmenu click', 'a[tag=chatTab]', (e) => {
let eventType = e.type let eventType = e.type
let self = $(e.target) let self = $(e.target)
@@ -348,16 +344,9 @@ class ChatTabManager {
e.preventDefault() // 阻止默认行为 e.preventDefault() // 阻止默认行为
callback(self) callback(self)
break break
case 'mousedown': case 'click':
if (!isMobile()) return if (!isMobile()) return
listeners[self + ""] = setTimeout(() => { callback(self)
callback(self)
}, 300) // 300颗够吗 应该够吧
break
case 'mouseup':
if (!isMobile()) return
clearTimeout(listeners[self + ""])
listeners[self + ""] = null
break break
} }
}) })