Javascript中addEventListener的3个参数

//
document.addEventListener('click', () => {
    // do something
    ...
}, false)

 

1. addEventListener,接收3个参数

第一个参数event:监听的事件名称

第二个参数是函数:需要执行的事件

第三个参数是useCapture(变量):用来判断是捕获还是冒泡

 

2.第三个参数为userCapyure时

1)当useCapture为true的时候是在捕获阶段触发事件 (捕获事件触发顺序是由父到子)

2)当useCapture为false的时候是在冒泡阶段触发事件(默认为false)(冒泡事件触发顺序是由子到父)

3.第三个参数不一定是 bool 值,也可以是个对象,它提供了更多选项。

once:只执行一次。
passive:承诺此事件监听不会调用 preventDefault,这有助于性能。
useCapture:是否捕获(否则冒泡)。

实际使用,在现代浏览器中,还可以不传第三个参数,建议默认不传第三个参数,因为冒泡是符合正常的人类心智模型的,大部分业务开发者不需要关心捕获过程。除非你是组件或者库的使用者,那就总是需要关心冒泡和捕获了。

posted @ 2024-01-18 11:34  夜独醉  阅读(2626)  评论(0)    收藏  举报