2

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

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

为什么会这样?

4

2 回答 2

9

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

您可能想改用“mouseleave”。

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

于 2011-05-23T01:54:19.030 回答
1

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

于 2011-05-23T01:54:52.510 回答