ie8及以下版本
事件绑定和解绑,事件对象的下列↓↓属性和现代浏览器有所不同,所以为了兼容所有浏览器,可以写一个通用的对象来进行操作:
event.returnValue=false等同于现代浏览器中的event.preventDefault()、
event.cancelBubble=true等同于现代浏览器中的event.stopPropagation()
event.srcElement等同于现代浏览器中的event.target
可以跨浏览器进行事件的操作:
var eventHandler={
addEvent:function(ele,eType,fn){
if(ele.addEventListener){
ele.addEventListener(eType,fn);
}else if(ele.attachEvent){
ele.attachEvent('on'+eType,fn);
}else{
ele['on'+eType]=fn;
}
},
removeEvent:function(ele,eType,fn){
if (ele.removeEventListener){
ele.removeEventListener(eType,fn);
}else if(ele.detachEvent){
ele.detachEvent('on'+eType,fn);
}else{
ele['on'+eType]=null;
}
},
getTarget:function(event){
return event.target || event.srcElement;
},
stopPropagation:function(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble=true;
}
},
preventDefault:function(event){
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue=false;
}
}
}