什么是浏览器兼容性?
所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。
var listenerEvent={
getEvent:function(event){
return event||window.event; //后者为IE
},
getTarget:function(event){
return event.target||event.srcElement; //后者为IE /*事件的委托 target属性 相当于dom,获取节点位置*/
}
stopPropagation:function(){
if(event.stopPropagation()){
event.stopPropagation();
}else{
event.cancelBubble=true; //IE
}
}
preventDefault:function(){
if(event.preventDefault()){
event.preventDefault();
}else{
event.returnValue=false; //IE
}
},
addEventListener:function(element,type,callback,boolean){
boolean=boolean|| false; //设置Boolean默认值为false
if(element.addEventListener()){
element.addEventListener(type,callback,boolean)
}else if(element.attachEvent){
element.attachEvent("on"+type,callback); //IE
}else{
element["on"+type]=callback;
}
},
removeListener:function(element,type,callback,boolean){
boolean=boolean||false; //设置boolean值为false
if(element.removeListener()){
element.removeListener(type,callback,boolean);
}else if(element.detachEvent){
element.detachEvent("on"+type,callback)
}else{
element["on"+type]=null;
//不支持以上两种写法的备用方法
}
}
}