js中addEventListener中第3个参数 更多的情况研究

借用其他兄弟的成果扩展一下

<div id="id1" style="width:200px; height:200px; position:absolute; top:100px; left:100px; background-color:blue; z-index:4;border:1px solid #f00;">d1  
    <div id="id2" style="width:200px; height:200px; position:absolute; top:20px; left:70px; background-color:green; z-index:1;border:1px solid #f00;">d2
         <div id="id3" style="width:200px; height:200px; position:absolute; top:20px; left:70px; background-color:red; z-index:1;border:1px solid #f00;">d3
         </div>
    </div>  
</div>  

这里采用了三个监听:

document.getElementById('id1').addEventListener('click', function() { console.log('id1==false');}, false);
document.getElementById('id2').addEventListener('click', function() { console.log('id2==false');}, false);
document.getElementById('id3').addEventListener('click', function() { console.log('id3==true');}, true);

关于第三个参数的设置以及最后冒泡的顺序问题,大致规律可以这么看,如果有更多的监听,那么首先将第三个参数为true的所有监听分为一组放在冒泡的前部,为false的放在后部,即,为true的先响应事件,为FALSE的后响应事件,为true的部分,按照从最外层到最里层的顺序响应,为false的部分按照从里层到外层的顺序响应,这就得到最后的响应顺序,如上例最后的结果是:d3,d2,d1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: addEventListener() 是 JavaScript 的一种方法,它允许您将事件处理程序附加到特定的 DOM 元素上,以便在事件发生时执行代码。 addEventListener() 的语法如下: ``` element.addEventListener(event, function, useCapture); ``` 其: - `element` 是 DOM 元素对象。 - `event` 是要监听的事件类型,例如 "click"、"load" 或 "submit"。 - `function` 是事件发生时要执行的函数,也称为事件处理程序。 - `useCapture` 是一个可选参数,它是一个布尔值,用于指定事件是否在捕获阶段进行处理,默认为 false,即在冒泡阶段处理事件。 例如,以下代码将在单击按钮时执行一个函数: ```javascript const btn = document.getElementById("myButton"); btn.addEventListener("click", function() { alert("Button clicked!"); }); ``` 此外,addEventListener() 还支持一些其他选项,例如可选的第三个参数(useCapture)和可选的 fourth 参数(options)等。详细信息请参阅相关文档。 ### 回答2: 在 JavaScript addEventListener 是用于向一个 HTML 元素添加事件监听器的方法。它的作用是为指定的事件绑定一个处理函数,当该事件触发时,处理函数将会被执行。 addEventListener 的用途有以下几点: 1. 实现交互功能:通过添加事件监听器,可以使网页元素能够响应用户的交互操作,例如鼠标点击、键盘敲击、页面滚动等。通过绑定合适的事件,可以实现各种交互行为,使网页加动态和用户友好。 2. 提高代码复用性:通过添加事件监听器,可以将处理函数独立出来,以便在多处地方重复使用。这样可以减少代码的冗余,提高代码的复用性和可维护性。 3. 动态修改元素行为:通过添加事件监听器,可以动态地修改已有元素的行为。当用户对元素进行特定的操作时,可以触发绑定的事件,从而修改元素的样式、内容或其他属性,实现对元素的动态控制。 4. 实现事件委托:通过将事件监听器添加到父元素而不是每个子元素上,可以实现事件委托的机制。这样可以减少事件监听器的数量,提高性能。同时,当子元素动态发生变化时,不需要重新添加事件监听器,父元素的事件监听器会继续生效。 总结来说,addEventListener 方法用于为 HTML 元素添加事件监听器,实现网页的交互功能,提高代码的复用性和可维护性,动态地修改元素的行为,以及实现事件委托的机制。 ### 回答3: 在JavaScriptaddEventListener是一个方法,用于向元素添加事件监听器。它具有以下几个用途: 1. 实现交互功能:通过addEventListener,我们可以为网页的元素(如按钮、链接、输入框等)添加不同的事件监听器,比如点击事件、鼠标移入移出事件、键盘输入事件等。这样用户与页面进行交互时,我们就能够捕捉到相应的事件,从而触发相应的功能或操作。 2. 提高代码灵活性:使用addEventListener方法可以将事件监听器以函数的形式传递,这意味着我们可以自定义需要执行的功能。这样,页面上的元素不再受限于内联事件处理函数(如onclick),而是可以在JavaScript代码灵活控制事件的处理逻辑。 3. 实现事件的委托:通过在父元素上添加事件监听器,我们可以实现事件的委托。这意味着我们可以将事件监听器绑定到父元素上,然后通过判断事件源,确定具体的子元素触发事件,从而简化代码,提高性能。 4. 解决事件冲突:多次为同一元素添加同一类型的事件监听器时,使用addEventListener可以避免事件覆盖的问题。它会将新的事件监听器追加到该类型事件的监听器列表,而不是替换掉原有的监听器。 总之,addEventListenerJavaScript非常常用的方法,通过它可以实现交互功能、提高代码灵活性、实现事件的委托以及解决事件冲突。它在Web开发扮演着重要的角色,能够为开发人员提供多的自由度和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值