Skip to content

DOM事件流

DOM2 Events规范规定事件流分为3个阶段:事件捕获、到达目标和事件冒泡。事件捕获最先发生,为提前拦截事件提供了可能。然后,实际的目标元素接收到事件。最后一个阶段是冒泡,最迟要在这个阶段响应事件。

如上图所示,在DOM事件流中,实际的目标(<div>元素)在捕获阶段不会接收到事件。下一阶段,即会在<div>元素上触发事件的“到达目标”阶段,通常在事件处理时被认为是冒泡阶段的一部分。然后,冒泡阶段开始,事件反向传播至文档。

注:虽然DOM2 Events规范明确捕获阶段不命中事件目标,但现代浏览器都会在捕获阶段在事件目标上触发事件。最终结果是在事件目标上有两个机会来处理事件。

事件处理程序

用户或浏览器执行的某种动作叫做事件,比如click、load、mouseover。为响应这些事件而触发的程序叫做事件处理程序。

有几种指定事件处理程序的方式:

  • HTML事件处理程序
  • DOM0事件处理程序
  • DOM2事件处理程序
  • IE事件处理程序
  • 跨浏览器事件处理程序