zoukankan      html  css  js  c++  java
  • 【转】mouseover和mouseenter的区别

    一、当绑定着两个事件的元素里面没有子元素的时候,这两个事件的触发效果是一致的:

    x=0;
    y=0;
    $(document).ready(function(){
      $("div.over").mouseover(function(){
        $(".over").text(x+=1);
      });
      $("div.enter").mouseenter(function(){
        $(".enter").text(y+=1);
      });
    });
    </script>
    <div class="over" style="background-color:lightgray;padding:20px;40%;float:left">
    mouseover 事件:
    </div>
    <div class="enter" style="background-color:lightgray;padding:20px;40%;float:right">
    mouseenter 事件:
    </div>

    二、当绑定事件的元素里面有子元素的时候,鼠标经过绑定mouseover的当前元素以及它里面的子元素的时候,都会触发,而经过绑定mouseenter的元素时,只会在鼠标刚进入的时候触发,当进入其子元素的时候,是不会再触发的了

    x=0;
    y=0;
    $(document).ready(function(){
      $("div.over").mouseover(function(){
        $(".over span").text(x+=1);
      });
      $("div.enter").mouseenter(function(){
        $(".enter span").text(y+=1);
      });
    });
    </script>
    <div class="over" style="background-color:lightgray;padding:20px;40%;float:left">
    <h2 style="background-color:white;">被触发的 Mouseover 事件:<span></span></h2>
    </div>
    <div class="enter" style="background-color:lightgray;padding:20px;40%;float:right">
    <h2 style="background-color:white;">被触发的 Mouseenter 事件:<span></span></h2>
    </div>

    总结两句话

    • 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。对应mouseout

    • 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。对应mouseleave

  • 相关阅读:
    H5页面富文本展示图片之间存在空隙
    如何关闭eslint语法校验
    K8S service详解
    vim添加或删除多行注释
    K8S 弹性伸缩
    Load高问题排查
    Dockerfile CMD和ENTRYPOINT
    nginx配置
    sed命令
    Pod排错指南
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10084521.html
Copyright © 2011-2022 走看看