fix(frontend): 修复文件管理器右键子菜单关闭竞态
移除文件管理器右键菜单在捕获阶段注册的全局点击关闭监听 将关闭职责统一收敛到组件层 click-outside 处理 避免终端、上传、压缩等子菜单在展开或点击前被提前关闭 同时同步更新相关知识库记录与中英文 README 链接
This commit is contained in:
@@ -331,13 +331,6 @@ export function useFileManagerContextMenu(options: UseFileManagerContextMenuOpti
|
||||
contextMenuPosition.value = { x: finalX, y: finalY };
|
||||
}
|
||||
|
||||
// Add global listener to hide menu *after* positioning
|
||||
document.removeEventListener('click', hideContextMenu, { capture: true });
|
||||
document.addEventListener('click', hideContextMenu, { capture: true, once: true });
|
||||
} else {
|
||||
// Fallback listener if measurement fails
|
||||
document.removeEventListener('click', hideContextMenu, { capture: true });
|
||||
document.addEventListener('click', hideContextMenu, { capture: true, once: true });
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -347,7 +340,6 @@ export function useFileManagerContextMenu(options: UseFileManagerContextMenuOpti
|
||||
contextMenuVisible.value = false;
|
||||
contextMenuItems.value = [];
|
||||
contextTargetItem.value = null; // 清理目标项
|
||||
document.removeEventListener('click', hideContextMenu, { capture: true });
|
||||
};
|
||||
|
||||
// 返回需要暴露的状态和方法
|
||||
|
||||
Reference in New Issue
Block a user