常見的原生js的相容寫法總結

2021-10-03 10:28:39 字數 1554 閱讀 7790

在我們寫js原生語法的時候,不可忽略的是**在不同瀏覽器上執行的相容問題,這是我總結的一些關於js**相容問題的常見處理寫法

1.獲取當前網頁的寬度和高

window.innerwidth?window.innerwidth:document.documentelement.clientwidth;

window.innerheight?window.innerheight:document.documentelement.clientheight;

2.獲取滾動條距頂端的距離
var scrolltop=document.documentelement.scrolltop||document.body.scrolltop;
3.獲取滾動條距左邊的距離
var scrolltop=document.documentelement.scrollleft||document.body.scrollleft;
4.通過byclassname獲取頁面元素的相容

分析:如果支援就直接獲取,如果不支援,通過bytagname獲取,需要遍歷所有的標籤,找到需要的classname的元素

function byclassname(obj,classname)

else

6.獲取非行內樣式的相容
function getstyle(obj,attr)
7.獲取事件物件的編碼值
obox.onclick=function(evt)
8.獲取滑鼠按鍵的編碼值
function getbutton(evt)else if(window.event)

} }

9.獲取鍵盤按鍵的編碼值
//onkeydown和onkeyup事件

var code=event.keycode||event.which;

//onkeypress事件

var code=event.keycode||event.which||charcode

10.獲取事件源
var target=e.target||e.srcelement;
11.阻止事件冒泡
var e=eve||window.event;

e.stoppropagation?e.stoppropagation():e.cancelbubble=true;

12.阻止瀏覽器預設行為的相容(表單提交、超連結、右鍵選單)
function stopdefault(eve)
13.事件監聽
function addeventlistener(obj,event,fn,boo)else if(attachevent)else

}

14.移除事件監聽
function removeeventlistener(obj,event,fn,boo)else if(detachevent)else

}

常用原生JS方法總結(相容性寫法)

新增事件方法 1 2 3 4 5 6 7 8 9 addhandler function element,type,handler elseif element.attachevent else 移除之前新增的事件方法 1 2 3 4 5 6 7 8 9 removehandler function...

原生JS方法個人總結(相容性寫法)

獲取非行內樣式的相容 注釋 1.style 獲取行間樣式。2.currentstyle 獲取計算後的樣式,也叫當前樣式 最終樣式。3.getcomputedstyle obj,false 在ff新版本中只需要第乙個引數,即操作物件,第二個引數寫 false 也是大家通用的寫法,目的是為了相容老版本的...

常用原生JS方法總結(相容性寫法)

經常會用到原生js來寫前端。但是原生js的一些方法在適應各個瀏覽器的時候寫法有的也不怎麼一樣的。今天下班有點累。就來總結一下簡單的東西吧 備註 一下的方法都是包裹在乙個eventutil物件裡面的,直接採用物件字面量定義方法了。新增事件方法 addhandler function element,t...