DOM事件流
DOM2 Events规范规定事件流分为3个阶段:事件捕获、到达目标和事件冒泡。事件捕获最先发生,为提前拦截事件提供了可能。然后,实际的目标元素接收到事件。最后一个阶段是冒泡,最迟要在这个阶段响应事件。
如上图所示,在DOM事件流中,实际的目标(<div>
元素)在捕获阶段不会接收到事件。下一阶段,即会在<div>
元素上触发事件的“到达目标”阶段,通常在事件处理时被认为是冒泡阶段的一部分。然后,冒泡阶段开始,事件反向传播至文档。
注:虽然DOM2 Events规范明确捕获阶段不命中事件目标,但现代浏览器都会在捕获阶段在事件目标上触发事件。最终结果是在事件目标上有两个机会来处理事件。
事件处理程序
用户或浏览器执行的某种动作叫做事件,比如click、load、mouseover。为响应这些事件而触发的程序叫做事件处理程序。
有几种指定事件处理程序的方式:
- HTML事件处理程序
- DOM0事件处理程序
- DOM2事件处理程序
- IE事件处理程序
- 跨浏览器事件处理程序