捕获事件处理程序不会在这个阶段被调用?

作者站长头像
站长
· 阅读数 19

在《JS权威指南》中有写到:

事件冒泡是事件传播的第三阶段,调用目标本身对象的事件处理程序是第二个阶段,第一阶段,也就是目标处理处理程序被调用之前的阶段,叫做捕获阶段

还记得addEventListener接收的第三个可选参数吧,如果这个参数是true或{capture: true},那么就表明该事件处理程序会注册为捕获事件处理程序,将在事件传播的第一阶段被调用。

注册在事件目标本身的捕获事件处理程序不会在这个阶段被被调用

这里前面说捕获程序会在第一阶段(即捕获阶段)被调用,但后面又说不会在这个阶段被调用,这不是矛盾的吗?

回复
1个回答
avatar
test
2024-07-10

注册在事件目标本身的捕获事件处理程序不会在这个阶段被被调用是指addEventListener接收的第三个可选参数默认是false,即不在这个阶段调用函数,如果需要在这个阶段触发,需要设置为true

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容