我用 jQuery 制作了一个小的下拉菜单,并在 mouseover/mouseout 事件上绑定了“显示”和“隐藏”动画。问题是,当我将鼠标悬停在下拉菜单中的菜单列表项上时,会触发事件并且我的菜单会消失!
我也尝试过stopPropagation()
,但也失败了:
$('nav>div.dropTrigger').mouseover(function(e)
{
console.log("enter");
$(this).find('div').stop(true,true).animate({ opacity: 'show', height: 'show' },"fast");
});
$('nav>div.dropTrigger').mouseout(function(e)
{
console.log("out");
$(this).find('div').stop(true,true).animate({ opacity: 'hide', height: 'hide' },"fast");
});
$('.dropdown').mouseover(function(e)
{
e.stopPropagation();
});
$('.dropdown').mouseout(function(e)
{
e.stopPropagation();
});
我的标记:
<nav>
<div class="dropTrigger">
<a href="potatoes">some menu</a>
<div class="dropdown">
<ul>[drop menu goes here]
</div>
...