总言
dom 0/2 级事件、事件流是两个不同的概念。为了分辨它们(提醒自己),我写了此篇小记。
如有错误,欢迎批评指正!
dom 0/2 级事件
dom 0 级事件:通过事件绑定的方式,给 dom 元素注册事件处理函数。它的特点是只能绑定一个事件(后面会覆盖前面)。
dom 2 级事件:相比于 dom 0 级更加灵活(可以绑定多个、可以选择不同的事件流)
解除 dom 0 级事件:dom.onXXX = false / null / undefined
解除 dom 2 级事件:dom.removeEventListener(type, function, boolean)
事件流
事件流:事件的时间线,捕获->目标->冒泡
其中,捕获是 netscape 的,冒泡是 ie 的。
总结
- 默认情况下:事件的触发不是在捕获阶段,就是在冒泡阶段
- 目前的标准:事件默认是在冒泡阶段触发的(可以修改成:(1)只在捕获阶段触发(2)同时在捕获、冒泡阶段触发)