JavaScript: 事件传递的3个阶段

addEventListener、捕获、事件处理阶段和冒泡

Posted by chanweiyan on July 19, 2020

事件传递的3个阶段

addEventListener

1
2
obj.addEventListener('click', func, true);  // 捕获方式
obj.addEventListener('click', func, false); // 冒泡方式

示意图

eventflow

捕获阶段、事件处理阶段和冒泡阶段

捕获阶段 和 冒泡阶段

执行栈和异步队列

  • 执行栈:先执行同步代码,再执行异步代码
  • 异步队列:异步代码(回调)会在这里排队,同步代码执行完毕后,会依次执行异步队列中的代码