将鼠标悬停在mouseOut目标内的文本时,为什么.mouseOut()会触发?

时间:2011-05-23 01:50:28

标签: javascript-events hover jquery mouseout

例如,如果我执行$('div#something').mouseout(function(){});,那么当我将鼠标悬停在#something div内的文本上而不是当我离开div时,该函数将会触发。

我希望它只在我离开div时触发,而不是当我将鼠标悬停在div内的文本上时。

为什么会这样?

2 个答案:

答案 0 :(得分:9)

只要鼠标光标离开元素,

mouseout就会触发,即使“离开”意味着它正在进入子元素(文本将是 - 至少在某些浏览器上)。

您可能想要使用“mouseleave”。

http://api.jquery.com/mouseleave/

答案 1 :(得分:1)

mouseOut在鼠标离开元素时触发 - 包括当它移动到其子元素时。看到这个jsFiddle:http://jsfiddle.net/minitech/kZcCr/