当光标仍在元素上时,mouseleave在IE7中触发

时间:2010-12-28 18:08:26

标签: jquery internet-explorer events mouseleave

我正在使用mouseleave关闭弹出菜单。这在除IE7之外的所有目标浏览器中都能正常工作。在IE7中,当光标明显仍在目标元素上时,mouseleave会触发。我已经突出显示了下面黄色弹出窗口的主要容器。如果我如图所示放置鼠标并将其移动一点(仍然在黄色内),则在包含黄色的元素上触发mouseleave。关于这里发生了什么的任何想法?当光标仍然明显在其中时,可能导致在元素上触发mouseleave的原因是什么?

alt text

仔细观察后,我发现即使光标位于弹出窗口的不透明部分,也会触发mouseleave事件。

alt text

4 个答案:

答案 0 :(得分:3)

透明标签。

快速修复 - 以1x1.gif为背景。

其他选项是时间触发mouseleave

答案 1 :(得分:2)

只要JavaScript从一个元素移动到另一个不低于页面层次结构中已注册元素的元素,就会触发mouseleave事件。是否有可能浏览器认为您正在转移构成弹出窗口中存在的菜单的元素(即,z值较低)?

答案 2 :(得分:1)

在我的情况下,代码解决了IE7 jquery mouseleave问题:

"position" : "relative";
"z-index" : 2000;

我的标签有背景gif图像但是没有成功。 只设置css我有行为。

答案 3 :(得分:0)

我能够明确定义背景。

如果没有,1x1透明gif也可以使用。

.content {     / * IE-8:当你点击背景时,mouseleave / mouseenter会触发,因此需要明确声明* /     背景:白色; }