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

  • 相关阅读:
    浅谈React数据流管理
    Nodejs相关知识
    React其它相关知识点
    React-Native知识点相关
    React状态管理相关
    React设计模式相关
    Node.js调试相关
    Event loop详解(包含Node端)
    JS this详解
    Babel知识点相关
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10084521.html
Copyright © 2011-2022 走看看