js中的相容問題

2021-07-31 07:59:16 字數 2377 閱讀 5933

<1>使用事件物件event時:

ie9+.chrome:event是乙個內建全域性物件,也可以通過事件函式第乙個引數傳入

ie9-:event時內建全域性變數,不能當作引數傳入

firefox(標準下):event物件只能通過事件函式的第乙個引數傳入的

相容性處理方式:obj.οnclick=function(ev)

<2>chrome不識別document.documentelement(文件節點樹的根節點)

相容性處理方法:var=scrolltop=document.body.scrolltop||document.documentelement.scrolltop

相容性處理方法: 統一封裝建立xmlhttprequest物件的方法

<4>集合類物件的()與的問題

ie下,可以使用()或獲取集合類物件;firefox下,只能使用獲取集合類物件。

js** :

document.write(document.forms("formname").src);  

//該寫法在ie下能訪問到form物件的src屬性  

相容性處理方法:將document.forms("formname")改為 document.forms["formname"]。統一使用獲取集合  類物件。

<5>.innertext的使用

ff不支援innertext,它支援textcontent來實現innertext,不過textcontent沒有像innertext一樣考慮元素的   display方式,所以不完全與ie相容。如果不用textcontent,字串裡面不包含html**也可以用innerhtml代  替。

相容性處理方法:通過判斷不同瀏覽器做不同的處理

<6>自定義屬性問題 

說明:ie下,可以使用獲取常規屬性的方法來獲取自定義屬性,也可以使用getattribute()獲取自定義屬性,firefox   下,只能使用getattribute()獲取自定義屬性。

相容性處理方法:統一通過getattribute()獲取自定義屬性,不過更推薦直接通過「點」運算子訪問元素屬性。

<7>const問題

說明:firefox下,可以使用const關鍵字或var關鍵字來定義常量,ie下,只能使用var關鍵字來定義常量。

相容性處理方法:統一使用var關鍵字來定義常量。

<8>.event.x與event.y問題

說明:ie下,even物件有x,y屬性,但是沒有pagex,pagey屬性;firefox下,even物件有pagex,pagey屬性,但是沒有x,y屬性。

相容性處理方法:使用var x = e.x ? e.x : e.pagex; 來代替ie下的event.x或者firefox下的e.pagex

<9>.innertext問題

說明:innertext在ie中能正常工作,但是innertext在firefox中卻不行. 需用textcontent。

相容性處理方法:elem.innertext = elem.textcontent = 「值」

<10>通過類名獲取元素

相容性處理方法:封裝函式 function getbyclassname(){}

<11>滑鼠滾輪滾動事件

相容性處理方法:封裝函式

<12>dom節點相關的問題:

相容性處理方法:封裝函式

<13>獲取元素的非行間樣式值:

相容性處理方法:封裝函式

<14>設定監聽事件:

相容性處理方法:封裝函式

<15>元素到瀏覽器邊緣的距離(實用):

相容性處理方法:封裝函式 

<16>阻止事件傳播:

相容性處理方法:封裝函式 

<17>阻止預設事件:

相容性處理方法:封裝函式

<18>關於event事件中的target:

相容性處理方法:封裝函式

<19>節點載入:

相容性處理方法:封裝函式

<20>常遇到的關於瀏覽器的寬高問題(看解決**)

js中的相容問題

1.獲取滾動距離 document.documentelement.scrolltop document.body.scrolltop 相容ie 2.獲取非行間樣式 getcomputedstyle 引數1 當前物件 引數2 偽類選擇器,通常不會使用,用false代替 currentstyle 語法...

js相容問題

獲取非行內樣式的相容方式 複製 function getstyle obj,attr else 複製 獲取事件物件的相容方式 document.nclick function eve 事件冒泡的相容方法 複製 function stopbubble e else 複製 阻止瀏覽器預設行為的相容方法 ...

JS相容問題總結

1.阻止事件冒泡的相容 if event.stoppropagation else 2.阻止預設瀏覽器事件的相容 function stopdefault event else 3.事件解綁的相容 function bind ele,type,callback else ele 將要繫結事件的物件 ...