常用原生JS兼容写法
在我们前端开发中,经常会遇到兼容性的问题,因为要考虑用户会使用不同的浏览器来访问你的页面,你要保证你做的网页在任何一个浏览器中都能正常的运行,下面我就举几个常用原生JS的兼容写法:
1:添加事件方法
addHandler:
function
(element,type,handler){
if
(element.addEventListener){
//检测是否为DOM2级方法
element.addEventListener(type, handler,
false
);
}
else
if
(element.attachEvent){
//检测是否为IE级方法
element.attachEvent(
"on"
+ type, handler);
}
else
{
//检测是否为DOM0级方法
element[
"on"
+ type] = handler;
};
};
2:获取事件及事件对象目标
getEvent:
function
(event){
return
event ? event : window.event;
},
getTarget:
function
(event){
return
event.target || event.srcElement;
};
3:阻止浏览器默认事件的兼容性写法
preventDefault:
function
(event){
if
(event.preventDefault){
event.preventDefault();
}
else
{
event.returnValue =
false
;
};
};
4:阻止事件冒泡的兼容性写法
stopPropagation:
function
(event){
if
(event.stopPropagation){
event.stopPropagation();
}
else
{
event.cancelBubble =
true
;
};
};
5:跨浏览器的方式取得字符编码
getCharCode:
function
(event){
if
(
typeof
event.charCode ==
"number"
){
return
event.charCode;
}
else
{
return
event.keyCode;
};
};
基本原生JS中兼容性问题我能想起来的也就这么多了,希望对大家的学习有帮助.
另外多加一个CSS3中兼容性写法
-webkit这个为浏览器的前缀代表浏览器的私有属性
-ms 这是IE浏览器的前缀
-moz 这代表了火狐浏览器的前缀
-o 这代表着欧朋浏览器
-webkit 这代表了谷歌浏览器和苹果浏览器
-ms 这是IE浏览器的前缀
-moz 这代表了火狐浏览器的前缀
-o 这代表着欧朋浏览器
-webkit 这代表了谷歌浏览器和苹果浏览器
今天就先写到这里了,明天见!
坚持!坚持!坚持!坚持!坚持!