处理一些常见的跨浏览器封装的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理一些常见的跨浏览器封装的函数相关的知识,希望对你有一定的参考价值。


//跨浏览器获取视口大小

function getInner(){
if(typeof window.innerWidth!=‘undefined‘){
return{
width:window.innerWidth,
height:window.innerHeight
}
}else{
return{
width:document.documentElement.clientWidth,
height:document.documentElement.clientHeight
}
}
}

//跨浏览器获取style
function getStyle(element,attr){
if(typeof window.getComputedStyle!="undefined"){ //w3c
return window.getComputedStyle(element,null)[attr];
}else if(typeof element.currentStyle!=‘undefined‘){
return element.currentStyle[attr];
}
}


//获取event对象
function getEvent(event){
retur event||window.event
}
//阻止默认行为
function preDef(event){
var e=getEvent(event);
if(typeof e.preventDefault!=‘undefined‘){//w3c
e.preventDefault();
}else{
e.returnValue=false; //ie
}
}


//跨浏览器事件绑定
function addEvent(obj,type,fn){
if(typeof obj.addEventListener!="undefined"){
obj.addEventListener(type,fn,false)
}else if(typeof obj.attachEvent!=‘undefined‘){
obj.attachEvent(‘on‘+type,function(){
fn.call(obj)
});
}
}

//跨浏览器删除事件
function removeEvent(obj,type,fn){
if(typeof obj.removeEventListener!=‘undefined‘){
obj.removeEventListener(type,fn,false)
}else if(typeof obj.detachEvent!=‘undefined‘){
obj.detachEvent(‘on‘+type,fn)
}
}

以上是关于处理一些常见的跨浏览器封装的函数的主要内容,如果未能解决你的问题,请参考以下文章

可用于 Web 应用程序的跨浏览器和跨操作系统安全键盘快捷键是啥?

独立的跨浏览器库来处理 location.hash

虚拟机上的跨浏览器测试 - 问题?

009天之跨浏览器的事件处理程序

12款最好用的跨浏览器测试工具

在页面加载时绑定事件的跨浏览器兼容方式