通常,事件传送有三个阶段:事件捕获阶段,停留目标阶段,事件冒泡阶段。
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判断。