打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
事件冒泡与事件捕获及事件委托

事件冒泡通俗讲以整个文档体doucment参照就是从里到外(可以自行脑补一下水里冒泡现象)

 

说到事件冒泡就不得不提一下dom0级事件与dom2及事件

dom0级事件会覆盖,如下控制台只会输出结果 2:

var oDiv=document.getElementById('div');  oDiv.onclick=function(){        console.log(1)     }     oDiv.onclick=function(){        console.log(2)     }        
dom0级事件只有事件冒泡,没有事件捕获

 

dom2级事件不会覆盖,如控制台只会输出结果 1,2:

 var oDiv=document.getElementById('div');

   oDiv.addEventListener('click',function(){

  console.log(1)

  },true)

  

   oDiv.addEventListener('click',function(){

  console.log(2)

  },true)

dom2级事件涉及到事件捕获,第三个参数布尔值如果为false,就是事件冒泡,否则就是事件捕获

冒泡

var
body=document.getElementsByTagName('body')[0];window.addEventListener('click',function(){ console.log('window')},false) body.addEventListener('click',function(){ console.log('body')},false)var oDiv=document.getElementsByTagName('div')[0]; oDiv.addEventListener('click',function(){ console.log(1) },false)oDiv.addEventListener('click',function(){ console.log(2)},false)

点击div运行结果
捕获
var body=document.getElementsByTagName('body')[0];window.addEventListener('click',function(){        console.log('window')},true) body.addEventListener('click',function(){        console.log('body')},true)var oDiv=document.getElementsByTagName('div')[0]; oDiv.addEventListener('click',function(){    console.log(1) },true)oDiv.addEventListener('click',function(){  console.log(2)},true)

点击运行结果

 事件捕获就是从上往下一级一级往下找,先找父级在找子级

 这张图大家看起来更加清晰

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
DOM 事件深入淺出(二)
DOM事件你知道多少
监听DOM操作事件
Javascript事件系统
常见的原生javascript DOM操作
史上最详细的JavaScript事件使用指南
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服