简介:
大家好。我正在尝试做一个菜单,但我遇到了 mouseenter/mouseleave 事件。
到目前为止我所拥有的:
$("#icon").click(function() {
$("#invis").css("display", "block");
$("#icon").bind("mouseleave", function(){
$("#invis").css('display', "none");
}).bind("mouseenter", function(){
$("#invis").css('display', "block");
});
$("#invis").bind("mouseleave", function(){
$("#invis").css('display', "none");
}).bind("mouseenter", function(){
$("#invis").css('display', "block");
});
});
到目前为止,我试过这个。我的意思是单击“图标”,此单击将显示菜单/另一个隐藏元素。现在我想让它保持打开状态,因为有人将鼠标悬停在“图标”或实际菜单上。但是使用我提供的代码,一旦我离开鼠标然后在“图标”上再次输入,它仍然会保持 onmouseenter 事件,并且菜单将再次出现。我知道我可以取消绑定 onmouseenter 事件,但是一旦我离开菜单,进入图标,我的菜单就会关闭,我不希望这样。
我能想到的最简单的例子:http: //jsfiddle.net/tzzqM/5/
问题
如何在单击事件时打开“菜单”,然后只要有人将鼠标悬停在菜单或“图标”(两者)上,就保持打开状态。一旦鼠标离开两者的区域,菜单就会关闭,要打开它,我需要再次单击“图标”。还有另一种方法可以做到这一点吗?