事件冒泡和事件捕获

事件冒泡和事件捕获有什么区别?

它们的区别在于事件的传播方向。

  • 事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。
  • 事件冒泡是自下而上的去触发事件。所有现代浏览器都支持事件冒泡,并且会将事件一直冒泡到window对象。

addEventListener方法的第三个参数,就是控制事件触发顺序是否为事件捕获。true为事件捕获,false为事件冒泡。默认为事件冒泡。
event对象的stopPropagation方法可以阻止事件在 DOM 中传播,防止再触发定义在别的节点上的监听函数,但是不包括在当前节点上其他的事件监听函数。