Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 右键单击时z索引不起作用_Jquery_Css_Contextmenu_Z Index - Fatal编程技术网

Jquery 右键单击时z索引不起作用

Jquery 右键单击时z索引不起作用,jquery,css,contextmenu,z-index,Jquery,Css,Contextmenu,Z Index,我正在尝试实现一个contextmenu,它出现在右键单击以使用classcontextFolder进行div时,该类具有z-index:1000 为此,我使用JQuery将contextmenu事件绑定到divs。这很好用。我希望此上下文菜单在 用户左键单击屏幕上的任意位置 用户右键单击屏幕上除任何其他div.contextfolder 如果在打开contextmenu并右键单击其他div.contextFolder时,我希望当前的contextmenu消失,并在newdiv.contex

我正在尝试实现一个contextmenu,它出现在右键单击以使用class
contextFolder
进行div时,该类具有
z-index:1000

为此,我使用JQuery将contextmenu事件绑定到divs。这很好用。我希望此上下文菜单在

  • 用户左键单击屏幕上的任意位置
  • 用户右键单击屏幕上除任何其他
    div.contextfolder
如果在打开contextmenu并右键单击其他
div.contextFolder
时,我希望当前的contextmenu消失,并在new
div.contextFolder
上打开一个新的contextmenu

要在显示到contextmenu时执行此操作

  • 我还创建了一个覆盖层,其高度为100%,
    宽度为100%
    ,z-index为100
  • 我将左键单击事件绑定到此覆盖,以便在单击时,
    • 覆盖层被移除
    • 上下文菜单被隐藏
  • 我还将contextmenu绑定到
    overlay
    以隐藏contextmenu,并在右键单击除另一个
    div.contextFolder
  • 为了防止在contextmenu上覆盖的左键单击事件,我还将
    z-index:101
    分配给contextmenu。(叠加的z指数为100)
这对我来说似乎很好。(我是CSS的新手,所以我可能错过了一些非常明显的东西)

所有工作正常,除了当我右键单击另一个
div.contextFolder
上的上下文菜单已经打开时,它转到覆盖的上下文菜单事件(隐藏到当前一个)。我想开一个新的

我已经在Chrome和Firefox的最新版本中对此进行了测试

这是最新的

多谢各位

 bind('contextmenu' , function(e){
             $(".folderContextMenu").css( {position:"absolute", top:e.pageY, left: e.pageX, zIndex: '101'} );
                e.preventDefault();
                //alert('not working');
                return false;
            }
问题是您没有再次移动关联菜单。它保持在原来的位置。因此,我稍微更改了bind函数。但是,如果您使用覆盖,并对其应用绑定功能,则菜单会显示在所有位置,这是第二个问题

这是完整的,修改过的


编辑:我使用了window onclick方法,看,这就是菜单反弹的证据。

我刚刚为您创建了一把小提琴。 我所做的就是修改你的javascript

希望这对你有帮助

PS:我还添加了其他代码,用于检查初始打开菜单后的单击是否是对菜单子菜单的单击


干杯

感谢您的回答,但在更新的小提琴中,若您右键单击叠加(而不是在contextFolder上),它也会移动上下文菜单。此外,我不希望它移动,但重新绑定它,因为我需要右键单击的contextFolder。谢谢您的时间。它在fiddle中工作,但当我使用window onclick方法时,页面上的其他事件不起作用,这就是我接受L4DD13答案的原因。希望,你不介意。不,我不介意。他的回答也是正确的,当然这是你的选择;)