0

我有这个:

<div id="parent">
    <div id="child">
        &nbsp;
    </div>
</div>
$(document).ready(function() {
    $('#parent').on('mouseout', function() {
        alert('Mouse out!');
    });
});

http://jsfiddle.net/aYGBC/2/

现在,当我将鼠标移到蓝色块上并将其移出某处时,一切正常。但是当我将鼠标移到蓝色块上,然后再移到红色块上时,也会触发 mouseout 事件。为什么会发生这种情况,如何使 mouseout 事件仅在我实际将鼠标移出块时发生?

4

1 回答 1

6

Use mouseleave,它“在鼠标或其他指点设备离开给元素及其所有后代的物理空间时调度”:

$(document).ready(function() {
    $('#parent').on('mouseleave', function() {
        alert('Mouse out!');
    });
});
于 2013-10-22T13:49:47.233 回答