addEventListener和JavaScript的事件机制

JavaScript的事件处理分为两个阶段:

  • 捕获阶段:从根节点向event.target层层传递
  • 冒泡阶段:从event.target向根节点层层传递

addEventListener(eventName,eventHandler,useCapture)这个函数的第三个参数表示是否使用捕获阶段,默认值为false。
useCapture默认值为false表示优先把事件的处理权交给子元素去处理。如果祖先结点在捕获阶段就把事件给处理掉了,子孙结点可能会感到一脸懵逼。
useCapture=false,所表达的含义就是:如果一件事孩子们能处理好,那就让孩子们去处理吧。

参考资料

https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

猜你喜欢

转载自www.cnblogs.com/weiyinfu/p/11967717.html