这个问题相当直截了当,但我找不到很好的相关示例来解决我的问题。我有一个菜单栏,当用户将鼠标悬停在某个项目上时,会div
出现一个子菜单。
HTML
<div class="nav">
<a href="#">MENU ITEM</a>
</div>
<div class="box">
THIS IS THE BOX
</div>
JS
$(document).ready(function(){
$(".nav a").hover(
function(){
$(".box").show();
}, function() {
if (!$(".box").is(":hover")) $(".box").hide();
}
);
$(".box").mouseleave(function() {
$(this).hide();
});
});
上面的代码在很多情况下都有效,但我在测试中看到过div
即使鼠标悬停也会隐藏的时候。我的猜测是事件之间一定存在某种冲突。这个问题在 Firefox 和 IE 中尤其严重。
有什么更好的方法来处理这种视觉效果?