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貌似不太好。

转载于:https://www.cnblogs.com/aissd/p/4885167.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值