0

我正在使用以下代码实现一个简单的下拉菜单:

<div id="submenu">
  <img id="1" src="..." />
  <img id="2" src="..." />
  <img id="3" src="..." />
</div>

jQuery代码是:

$('#submenu').mouseleave(function(){
$('#submenu').slideup()
});

它在 Firefox 中运行良好,但在 IE 中运行良好。在 IE 中,当鼠标离开子元素(图像)时,它会触发 mouseleave 和子菜单关闭。我参考 JQuery doc 并假设 mouseleave 不会有这个问题。任何人都可以分享您对这个案例的评论吗?谢谢。

4

1 回答 1

0

这可能与事件如何附加到 dom 有关 - 由包含的元素触发的 dom 事件可能会冒泡到外部元素。一种解决方法可能是测试元素是否正确

$('#submenu').mouseleave(function(event){
    if($('#submenu')[0] == event.target){
        $('#submenu').slideup()
    }
});
于 2011-03-30T09:44:51.157 回答