前言:
在使用JS的过程中,我们往往会头疼于各个浏览器的兼容性问题。究其根本是行业标准不统一的问题,一般来说现在是两大阵营:一个IE,另一个是W3C。IE凭借着和Windows的捆绑从而达到了一个高的市场占有率。事实上很多时候W3C标准下的JS学习相对更加容易些,而且大部分的浏览器,比如:谷歌、火狐等,也是W3C忠实fans。目前为止还没达到统一。那么作为开发人员来说,要开发一个通用性好的Web服务,前台的显示就是一个头等大戏了!自然而然这个兼容性的问题要被提到日程上来了。为此,开始构建自己的JS跨浏览器兼容函数库。
代码:
//跨浏览器的添加事件
function addEvent(obj,type,fn){
if(obj.addEventListener){ //W3C的添加事件
obj.addEventListener(type,fn,false);
}else if(obj.attathEvent){ //IE的添加事件
obj.attathEvent('on' + type,fn);
}
}
//跨浏览器的移除事件
function removeEvent(obj,type,fn){
if(obj.removeEventListener){ //W3C的移除事件
obj.removeEventListener(type,fn,false); //参数false 表示冒泡
}else if(obj.detachEvent){ //IE的移除事件
}
}
//跨浏览器的阻止默认行为
function preDef(evt){
var e = evt || window.event; //兼容IE和W3C
if(e.preventDefault){ //W3C标准
e.preventDefault();
}else{ //IE标准
e.returnValue = false;
}
}
//跨浏览器获取目标对象
function getTarget(evt){
if(evt.target){ //W3C标准
return evt.target;
}else if(window.event.srcElement){ //IE标准
return window.event.srcElement;
}
}
小结:厚积薄发,继续构建。