首页 > 代码库 > js中addEventListener中第3个参数
js中addEventListener中第3个参数
<div id="id1" style="width:200px; height:200px; position:absolute; top:100px; left:100px; background-color:blue; z-index:4"> <div id="id2" style="width:200px; height:200px; position:absolute; top:20px; left:70px; background-color:green; z-index:1"></div> </div>
addEventListener中的第三个参 数是useCapture, 一个bool类型。当为false时为冒泡获取(由里向外),true为capture方式(由外向里)。
document.getElementById(‘id1‘).addEventListener(‘click‘, function() { console.log(‘id1‘);}, false);document.getElementById(‘id2‘).addEventListener(‘click‘, function() { console.log(‘id2‘);}, false);
点击id2的div结果是: id2, id1
document.getElementById(‘id1‘).addEventListener(‘click‘, function() { console.log(‘id1‘);}, false);document.getElementById(‘id2‘).addEventListener(‘click‘, function() { console.log(‘id2‘);}, true);
结果是:id1,id2
DOM方法 addEventListener() 和 removeEventListener()是用来分配和删除事件的函数。 这两个方法都需要三个参数,分别为:
事件名称(String)、要触发的事件处理函数(Function)、指定事件处理函数的时期或阶段(boolean)。
DOM事件流如图(剪自javascript高级程序设计):
由图可知捕获过程要先于冒泡过程
当第三个参数设置为true就在捕获过程中执行,反之就在冒泡过程中执行处理函数。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。