对纯Javascript实现的兼容浏览器的事件封装的添加和移除
事件处理具有不同的浏览器,检测方法的能力,所谓的检测能力,是做的能力,没有做的能力。/ /对象定义一个事件处理,兼容所有浏览器,DOM2事件处理和IE的事件,如果这两个事件不做处理兼容
无功eventutil = {
AddEvent:功能(元素、类型、处理){
如果(元。addEventListener){
/ IE使用DOM2型浏览器事件处理,事件类型,如:单击处理程序错误,对事件处理函数的代表,利用气泡的处理模式,如果真的是捕获模型
除了与NetBeans类型捕获/处理模型,另一种是利用泡沫型加工模型
如果它是一个非IE浏览器 / /添加事件:addEventListener
element.addeventlistener(类型、处理程序、错误);
} else if(元。attachevent){
/ /如果IE浏览器,通过attachevent添加事件
element.attachevent(开+型,处理程序);
其他{ }
元{开+型} =处理程序;
}
},
removeevent:功能(元素、类型、处理){
如果(元。removeEventListener){
/ IE使用DOM2型浏览器事件处理,事件类型,如:单击处理程序错误,对事件处理函数的代表,利用气泡的处理模式,如果真的是捕获模型
除了与NetBeans类型捕获/处理模型,另一种是利用泡沫型加工模型
如果它是一个非IE浏览器 / /添加事件:removeEventListener
element.removeeventlistener(类型、处理程序、错误);
} else if(元。detachevent){
/ /如果IE浏览器,通过detachevent添加事件
element.detachevent(开+型,处理程序);
其他{ }
/ /做级事件处理,如果删除事件分配空
元{开+型} = null;
}
},
匀:功能(事件){
获取事件本身
返回eventevent:window.event;
},
GetType:功能(事件){
获取事件类型
返回event.type;
},
getelement:功能(事件){
获取事件元素
返回event.srcelement | | event.target;
},
PreventDefault:功能(事件){
停止默认事件行为
如果(事件。preventDefault){
Event.preventDefault();
其他{ }
event.returnvalue = false;
}
},
里面的功能(事件){
停止/事件
If (event.stopProPagation) {
event.stoppropagation();
其他{ }
event.cancelbubble =真;
}
}
}