zoukankan      html  css  js  c++  java
  • mouseenter事件和mouseover事件

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6     </head>
     7     <body>
     8         <ul id="ul">
     9             <li>1</li>
    10             <li>2</li>
    11             <li>3</li>
    12             <li>4</li>
    13         </ul>
    14         <script>
    15             document.getElementById('ul').addEventListener('mouseover', function(e){
    16                 console.log(e.target.nodeName);
    17                 if(e.target && e.target.nodeName.toUpperCase() == 'LI'){
    18                     console.log('over');
    19                 }
    20             }, false);
    21             document.getElementById('ul').addEventListener('mouseenter', function(e){
    22                 console.log(e.target.nodeName);
    23                 if(e.target && e.target.nodeName.toUpperCase() == 'LI'){
    24                     console.log('enter');
    25                 }
    26             }, false);
    27         </script>
    28     </body>
    29 </html>

    如上代码所示,对相同的标签分别绑定mouserover和mousenter事件,鼠标移到li,结果显示:

    触发mouseover事件时,控制台输出LI和over,说明mouseover会冒泡;

    触发mouseenter事件时,控制台只输出UL,说明mouseenter不会冒泡;

    做JavaScript事件委托时,要用到鼠标移动事件,mouseenter和mouseleave貌似不太好。

  • 相关阅读:
    Swoole 学习笔记 03
    MySQL 索引概念
    MySQL使用存储过程创建百万级别测试数据
    MySQL 慢日志查询的设置
    Hyper中的 Request和Response
    PHPStorm deployment 工具的使用
    Hyperf 命令行
    Hyperf 事件机制
    Hyperf jsonrpc 服务的搭建
    PHPstorm的使用
  • 原文地址:https://www.cnblogs.com/aissd/p/4885167.html
Copyright © 2011-2022 走看看