跨浏览器的事件对象
在出发DOM的某个事件时,会产生一个事件对象event,这个对象包含所有与事件有关的信息;IE中的事件对象与DOM中的event对象不同,要访问IE中的
对象有几种不同方式,若使用DOM0级添加事件处理程序时,event对象作为window对象的一个属性存在,若使用attachEvent()添加时,就会有一个event对象作为参数被传入事件处理程序函数中。
DOM和IE中的event对象不同:
var EventUtil = {
addHander:function(element,type,handler){
//省略代码;
},
getEvent: function(event){
return event ? event :window.event; %返回事件对象;
},
getTarget:function(event){
return event.target ‖ event.srcElement; 返回事件目标;
}
preventDefault:function(event){
if(event.preventDefault()){
event.preventDefaault();
}else {
event.returnValue = false; %取消事件的默认行为
}
},
removeHander: function(element,type,hander){
//省略代码
},
stopPropagation : function(event){
if(event.stopPropagation){
enven.propagation;
} else{
event.cancelBubble = true; %取消事件进一步的捕获或冒泡,IE中不支持捕获,所以只取消事件进一步的冒泡
}
},
}