【问题标题】:How to prevent onmouseover from firing inside div [duplicate]如何防止onmouseover在div内触发[重复]
【发布时间】:2013-12-06 15:11:50
【问题描述】:

我有一个矩形 div,矩形内有一些较小的 div 和图像。我希望能够在鼠标输入时将整个 div 向上动画一点,以显示更多信息。然后,当鼠标退出 div 时,我希望 div 返回到以前的位置。但是,当我进入子 div 或图像时,该函数会触发,当我退出该子 div 时会再次触发。我基本上希望 onmouseover 忽略子 div。这可能与 Javascript/Jquery 吗?谢谢!

【问题讨论】:

标签: javascript jquery


【解决方案1】:

使用事件目标属性过滤元素:

$(parent).on('mouseover',function(e){
    if(e.target !== this) return;
    //...
});

但根据您的需求,使用 mouseenter 也可能是一种解决方案

【讨论】:

    【解决方案2】:

    试试这个:

    $('.parentClass:not(.childrenClass)').mouseover(function(){
    
    });
    

    【讨论】:

      【解决方案3】:

      jQuery 的做法是:

      http://api.jquery.com/event.stopPropagation/

      执行此操作的基本 javascript 方式是:

      event.preventDefault();

      【讨论】:

      • .preventDefault()?你确定吗?
      • 这可以防止最终触发脚本的事件链调用冒泡。
      • 你开始答对了,提到.stopPropagation,但答错了。
      猜你喜欢
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 2019-09-25
      • 2014-01-05
      • 2014-09-05
      • 1970-01-01
      相关资源
      最近更新 更多