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

  • 相关阅读:
    ASP.NET 2.0 解决了 CodeBehind 需要控件声明同步的问题
    Script# 把 C# 编译为 JavaScript
    我不懂 ASP.NET
    ASP.NET 是如何让 aspx 完全编译的呢?
    ASP.NET 设计优秀之处
    .NET 的灵魂是什么?
    初次使用Atlas JavaScript (Part 2 Web Service扩展)
    XNA Microsoft 平台的新游戏框架
    ViewState ASP.NET 的一个特有存储容器
    2 Ways Thinking In Ajax
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10084521.html
Copyright © 2011-2022 走看看