在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
先创建两个盒子,并给他们添加点击事件,如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .father{ margin: 100px auto; width: 100px; height:100px; overflow: hidden; background-color: palegreen; } .son{ width: 50px; height: 50px; margin-left: 25px; margin-top: 25px; background-color: paleturquoise; } </style> </head> <body> <div class="father"> <div class="son"></div> </div> <script> var father = document.querySelector('.father'); var son = document.querySelector('.son'); son.addEventListener('click',function(){ alert('son'); },false) father.addEventListener('click',function(){ alert('father'); },false) </script> </body> </html> 当我们点击子盒子的点击事件时,打印结果为: 我们应该怎样阻断父盒子的点击事件呢? 可以直接在子盒子内部的点击事件里面添加 如下所示: son.addEventListener('click',function(e){ alert('son'); e.stopPropagation(); },false) 此时,运行结果为: 阻断成功。
e.cancelBubble = true; 如果我们想要解决这种兼容性问题,就可以采用下述方法: if(e && e.stopPropagation){ e.stopPropagation(); }else{ window.event.cancelBubble = true; } 到此这篇关于基于JavaScript阻止事件冒泡的文章就介绍到这了,更多相关JavaScript阻止事件冒泡内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论