我正在尝试实现一个上下文菜单,该菜单出现在右键单击以 divcontextFolder
具有z-index: 1000
.
为此,我使用 JQuery 将 contextmenu 事件绑定到 div。这工作正常。我希望这个上下文菜单在
- 用户左键单击屏幕上的任意位置,
- 用户右键单击屏幕上的任何位置,除了任何其他
div.contextfFolder
如果在打开 contextmenu 并右键单击其他div.contextFolder
时,我希望我当前的 contextmenu 消失并在 new 上打开一个新的div.contextFolder
。
当我显示到上下文菜单时,要做到这一点,
- 我还使用
height: 100%
、width: 100%
和z-index: 100
. - 我将左键单击事件绑定到此叠加层,以便在单击它时,
- 覆盖被移除,
- 上下文菜单被隐藏。
- 我还将上下文菜单绑定到
overlay
以隐藏上下文菜单并overlay
在右键单击除另一个点之外的任何点时删除div.contextFolder
- 为了防止 contextmenu 上覆盖的左键单击事件,我还分配
z-index: 101
给 contextmenu。(叠加层的 z-index 为 100)
这对我来说似乎一切都很好。(我是 CSS 的新手,所以我可能会遗漏一些非常明显的东西)。
一切正常,除非当我右键单击div.contextFolder
上下文菜单已经在另一个上打开时div.contextFolder
,它会转到覆盖的上下文菜单事件(隐藏到当前事件)。我要开新的。
我已经在 Chrome 和 Firefox 最新版本中对此进行了测试。
这就是小提琴。
谢谢你。