如何检查鼠标何时超出任何子元素?

时间:2013-06-24 22:31:51

标签: javascript jquery

这是一个非常新手的问题(我很生气,我无法解决它)。我有一个问题,因为我每次鼠标离开容器时触发一个动作,现在问题是我有子元素,并且出于某种原因,当我移动一个子元素时,我的动作会被触发。

我基本上有这样的东西

<li>
<image>
<div>content</div>
</li>

我想当我进入我的李,它的活跃,当我从它出去时变得不活跃,但我可以进入并悬停我的内容,任何想法如何做到这一点?

我检查了这个但没有结果 Prevent onmouseout when hovering child element of the parent absolute div WITHOUT jQuery

由于

2 个答案:

答案 0 :(得分:2)

我个人采取懒惰的方式并使用jQuery的hover方法同时设置它们而不是分别使用mousein和mouseout。 这让jQuery可以处理和处理孩子,例如:

jQuery("li").hover(function() {
  //mousein actions
 },
 function() {
  //mouseout actions
 }
);

答案 1 :(得分:1)

为了防止在悬停孩子时发生事情,只需检查目标是否实际上是绑定元素:

$('li').on('mouseenter mouseleave', function(e) {
    if ( e.target === this ) {
        // do stuff here
    }
});