jQuery:如果元素有子节点,则会出现mouseover事件的问题

时间:2010-05-19 19:47:32

标签: jquery

我有以下元素:

<div id="#block-block-1">
    <p>KAREN LANCEL:<br>
lancel(at)xs4all.nl<br>
phone 0031 (0)624873424</p>
<p>HERMEN MAAT:<br>
maat(at)xs4all.nl<br>
phone 0031 (0)628536885</p>
</div>

当鼠标移出它时它应该会消失(我现在会忽略它来讨论事件中的淡入淡出)。

这是让它渐渐消失的代码:

$('#block-block-1').mouseout(function() {
        $(this).css("display","none");
    });

这里的问题是当鼠标悬停在div中的子元素

元素上时会触发'mouseout'事件。即使鼠标仍在其中,父母也会消失。

1 个答案:

答案 0 :(得分:1)

Mouseleave会帮你解决问题。

PPK在实际发生的事情上有一些excellent documentation以及为什么mouseout没有按照你认为应该做的那样:从技术上讲,当你将鼠标移到子线上时,你就会将其移出图层,这是一个有点奇怪的概念。