迁移在线名单点击事件
This commit is contained in:
@@ -1931,10 +1931,8 @@
|
||||
// 在列表顶部添加"大家"条目(原版风格)
|
||||
let allDiv = document.createElement('div');
|
||||
allDiv.className = 'user-item';
|
||||
allDiv.dataset.userListEveryone = '1';
|
||||
allDiv.innerHTML = '<span class="user-name" style="padding-left: 4px; color: navy;">大家</span>';
|
||||
allDiv.onclick = () => {
|
||||
toUserSelect.value = '大家';
|
||||
};
|
||||
fragment.appendChild(allDiv);
|
||||
|
||||
// ── AI 小助手(已在 onlineUsers 中动态维护,移除硬编码)──
|
||||
@@ -1963,6 +1961,7 @@
|
||||
let item = document.createElement('div');
|
||||
item.className = 'user-item';
|
||||
item.dataset.username = username;
|
||||
item.dataset.userListEntry = '1';
|
||||
|
||||
const headface = (user.headface || '1.gif');
|
||||
const headImgSrc = headface.startsWith('storage/') ? '/' + headface : '/images/headface/' +
|
||||
@@ -1978,41 +1977,7 @@
|
||||
<span class="user-badge-slot">${badges}</span>
|
||||
`;
|
||||
|
||||
// 单击/双击互斥:单击延迟 250ms 执行,双击取消单击定时器后直接执行双击逻辑
|
||||
let _clickTimer = null;
|
||||
item.onclick = () => {
|
||||
if (_clickTimer) {
|
||||
return;
|
||||
}
|
||||
_clickTimer = setTimeout(() => {
|
||||
_clickTimer = null;
|
||||
toUserSelect.value = username;
|
||||
// 手机端:点击名字时关闭名单抽屉
|
||||
if (typeof closeMobileDrawer === 'function') {
|
||||
closeMobileDrawer();
|
||||
}
|
||||
document.getElementById('content').focus();
|
||||
}, 250);
|
||||
};
|
||||
// 双击 / 手机端双触发 打开用户名片弹窗
|
||||
const _openCardFromList = () => {
|
||||
if (_clickTimer) { clearTimeout(_clickTimer); _clickTimer = null; }
|
||||
if (typeof closeMobileDrawer === 'function') { closeMobileDrawer(); }
|
||||
openUserCard(username);
|
||||
};
|
||||
item.ondblclick = _openCardFromList;
|
||||
// 手机端:检测 300ms 内两次 touchend 触发双击
|
||||
let _tapTime = 0;
|
||||
item.addEventListener('touchend', (e) => {
|
||||
const now = Date.now();
|
||||
if (now - _tapTime < 300) {
|
||||
e.preventDefault();
|
||||
_openCardFromList();
|
||||
_tapTime = 0;
|
||||
} else {
|
||||
_tapTime = now;
|
||||
}
|
||||
}, { passive: false });
|
||||
// 具体点击、双击与手机双触发由 Vite 的 right-panel.js 统一事件委托处理。
|
||||
fragment.appendChild(item);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user