• 【转】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

  • 相关阅读:
    layout(布局)组件
    accordion(分类)组件
    progressBar(进度条)组件
    LinkButton(按钮)组件
    tooltip(提示框)组件
    jQuery中animate( )的方法及$("body").animate({'scrollTop':top},500)不被Firefox支持问题的解决
    Echarts 图例交互事件
    JSON 语法
    jQueryMobile (一) :教程
    纯CSS3按钮变换效果
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10084521.html
Copyright © 2020-2023  润新知