js事件模型分为三类
- 原始事件模型
- 标准事件模型(Dom0级)
- IE事件模型(Dom2)
原始事件模型
通过html标签里绑定或者是js绑定。
-
特点是绑定快,但是也由于太快,可能会导致页面没加载完全,事件运行失败;
-
不支持捕获,只支持冒泡;
-
同一类型的事件只能绑定一次。(会覆盖)
标准事件模型
一次事件分为三个阶段:
- 事件捕获阶段
- 事件处理阶段
- 事件冒泡阶段addEventListener(),第一个参数事件类型, 可以给一个Dom元素绑定多个事件处理器,各自不会冲突,用addEventListener()绑定,第一个参数事件类型,第二个参数是函数名,第三个是执行时机,是布尔型,true就是在捕获阶段执行,false就是在冒泡阶段执行
IE事件模型
共有两个过程
- 事件处理阶段
- 事件冒泡阶段 用attachEvent()绑定,第一个参数是事件类型,第二个是函数名