常見javascript 相容工具函數封裝

來源:互聯網
上載者:User

常見javascript 相容工具函數封裝
/**
* Created by Administrator on 2014/7/24.

*/

//個人總結的的javascript工具函數,希望各位有其他的 幫忙補回來,回複我,一起學習

//跨瀏覽器添加事件
function addEvent(obj,type,fn){
if(obj.addEventListener){
obj.addEventListener(type,fn,false);
}
else if(obj.attachEvent){
obj.attachEvent("on"+type,fn)
}
}
//跨瀏覽器移除事件
function removeEvent(obj,type,fn){
if(obj.removeEventListener){
obj.removeEventListener(type,fn,false);


}
else{
obj.detachEvent("on"+type,fn);
}
}
//跨瀏覽器擷取event目標對象
function getTarget(evt){
if(evt.target){
return evt.target;
}
else if(window.event.srcElement){
return window.event.srcElement;
}
}
//跨瀏覽器擷取視口大小
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"){//IE
return element.currentStyle[attr];
}
}
//判斷class是否存在
function hasClass(element,className){
return element.className.match(new RegExp("(\\s|^)"+className+"(\\s|$)"))
}
//跨瀏覽器添加link規則
function insertRule(sheet,selectorText,cssText,position){
if(typeof sheet.insertRule!="undefined"){ //W3C
sheet.insertRule(selectorText+"{"+cssText+"}",position);
}else if(typeof sheet.addRule!="undefined"){//IE
sheet.addRule(selectorText,cssText,position)
}
}


//跨瀏覽器移出link規則
function deleteRule(sheet,index){
if(typeof sheet.deleteRule!="undefined"){//W3C
sheet.deleteRule(index);
}
else if(typeof sheet.removeRule!="undefined"){//IE
sheet.removeRule(index);
}
}
//擷取Event對象
function getEvent(event) {
return event || window.event;
}
//阻止預設行為
function preDef(event){
var e=getEvent(event);
if(typeof e.preventDefault!="undefined"){//w3c
e.preventDefault();
}else{ //IE
e.returnValue=false;
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.