JavaScript 之 处理各种兼容问题
1、获取浏览器窗口的大小(兼容写法)
function windowSize(){
clientWidth = document.documentElement.clientWidth || document.body.clientWidth;
clientHeight = document.documentElement.clientHeight || document.body.clientHeight;
return clientWidth, clientHeight
}
2、阻止浏览器的默认行为(兼容写法)
function preventDefault(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
}
3、阻止事件的事件流(兼容写法)
function stopBubble(e) {
if (e.stopPropagation) {
e.stopPropagation();
} else {
e.cancelBubble = true
}
}
4、获取键码(兼容写法)
function getKeyCode(e){
return e.which || e.keyCode;
}
5、获取事件对象(兼容写法)
function getEvent(event){
return event || window.event;
}
6、获取滚动条距离(兼容写法)
function getScroll(){
scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
return scrollLeft, scrollTop
}
7、获取某个元素的样式属性 (兼容写法)
function getStyle(oDom, attr){
var value; // 定义一个变量接收属性值
// 兼容 IE 与 IE9和非IE的主流浏览器
if(oDom.currentStyle){ // IE
value = oDom.currentStyle[attr];
} else { // IE9和非IE的主流浏览器
var obj = window.getComputedStyle(oDom);
value = obj[attr];
}
return value;
}