事件触发三阶段

  1. window往事件触发节点传播,遇到注册的捕获事件会触发;
  2. 传播到事件触发节点时触发注册的事件;
  3. 从事件触发处往 window 传播,遇到注册的冒泡事件会触发;

一般情况下,事件会按上面的顺序依次触发,但是也有特例,如果给一个目标节点同时注册冒泡和捕获事件,事件触发会按照注册的顺序执行!!!

node.addEventListener(
'click',
event => {
console.log('冒泡');
},
false
);
node.addEventListener(
'click',
event => {
console.log('捕获');
},
true
);

例如上面的代码,是执行冒泡再执行捕获的!!!