标准事件模型和IE事件模型有哪些区别?请具体解释他们的差异。

时间:2021-11-21 07:04:19

通常,事件传送有三个阶段:事件捕获阶段,停留目标阶段,事件冒泡阶段

1.阶段差异

DOM事件模型包含捕获阶段和冒泡阶段,DOM事件模型可使用e.stopPropagation()来阻止事件流;IE事件模型只包含冒泡阶段。

2.事件差异

DOM事件模型:addEventListener;IE事件模型:attachEvent。

3.参数差异

在DOM事件模型中,addEventListener(eventType, handler, useCapture)有三个参数,eventType没有on字符串,handler参数是一个事件句柄,这个函数或方法带有一个事件对象参数,useCapture参数决定了事件句柄触发在哪种事件传播阶段,如果useCapture为true则为捕获阶段,反之则为冒泡阶段。

在IE事件模型中,attachEvent(eventType, handler)有两个参数,eventType 带 on字符串,handler参数是一个事件句柄,这个函数或方法带有一个事件对象参数。

Var addEvent=ISIE?addEvent:addeventLisenter,重载,赋给变量,不用每次if,else判断。