欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解JavaScript的事件流与事件委托机制

最编程 2024-08-07 13:52:32
...
var eleDiv = document.querySelector('#div'); var i = 0; // 捕获 // 3号事件 document.body.addEventListener('click',function(){ console.log('捕获-阶段3:body') },{ // 默认值是不使用捕获,即冒泡(这里可以去看addEventListener参数说明) capture:true }); // 4号 event.stopPropagation()可以阻止事件的传递(事件流任何阶段都可使用) eleDiv.addEventListener('click',function(event){ console.log('捕获-阶段4:div') if(i++ % 2 !== 0) { event.stopPropagation(); // 阻止事件传递 } },{ // 默认值是不使用捕获,即冒泡 capture:true }) // 冒泡 // 7号事件 eleDiv.addEventListener('click',function(){ console.log('捕获-阶段7:div') },{ // 冒泡(默认值) capture:false }); // 8号事件 document.body.addEventListener('click',function(){ console.log('捕获-阶段8:body') },{ // 冒泡(默认值) capture:false })