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

  • 相关阅读:
    【USACO】接住苹果
    【题解】任务分配
    【伪·题解】高级打字机
    【noi openjudge题解】最低通行费
    【USACO】草地排水
    【POJ2186】受牛仰慕的牛
    【NOIP2011提高组】选择客栈
    [bzoj1026][SCOI2009]windy数 (数位dp)
    [bzoj1025][SCOI2009]游戏 (分组背包)
    [bzoj1024][SCOI2009]生日快乐 (枚举)
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10084521.html
Copyright © 2011-2022 走看看