實用的原生js相容問題

2021-09-02 22:13:31 字數 1797 閱讀 5887

①新增事件方法

addhandler:function(element,type,handler)else if (element.attachevent) else 

}

②移除之前新增的事件方法

removehandler:function(element, type, handler) else if (element.detachevent) else 

}

③獲取事件及事件物件目標

//獲取事件物件的相容性寫法

getevent: function(event),

//獲取事件物件目標的相容性寫法

gettarget: function(event)

④阻止瀏覽器預設事件的相容性寫法

preventdefault: function(event) else 

}

⑤阻止事件冒泡的相容性寫法

stoppropagation: function(event) else 

}

⑥mouseover和mouseout 事件才包含的獲取相關元素的方法

//mouseover和mouseout 事件才包含的獲取相關元素的方法

getrelatedtarget: function(event) else if (event.toelement) else if (event.fromelement) else

}

⑦滑鼠滾輪判斷

/*對於mousedown 和mouseup 事件來說,則在其event 物件存在乙個button 屬性,

表示按下或釋放的按鈕。dom的button 屬性可能有如下3 個值:0 表示主滑鼠按鈕,1 表示中間的鼠

標按鈕(滑鼠滾輪按鈕),2 表示次滑鼠按鈕。在常規的設定中,主滑鼠按鈕就是滑鼠左鍵,而次滑鼠

按鈕就是滑鼠右鍵。

ie8 及之前版本也提供了button 屬性,但這個屬性的值與dom 的button 屬性有很大差異。

 0:表示沒有按下按鈕。

 1:表示按下了主滑鼠按鈕。

 2:表示按下了次滑鼠按鈕。

 3:表示同時按下了主、次滑鼠按鈕。

 4:表示按下了中間的滑鼠按鈕。

 5:表示同時按下了主滑鼠按鈕和中間的滑鼠按鈕。

 6:表示同時按下了次滑鼠按鈕和中間的滑鼠按鈕。

 7:表示同時按下了三個滑鼠按鈕。*/

getbutton: function(event) else

}}

⑧能夠取得滑鼠滾輪增量值(delta)的方法

getwheeldelta: function(event) else 

}

⑨跨瀏覽器的方式取得字元編碼

getcharcode: function(event) else 

}

⑩訪問剪貼簿中的資料

getclipboardtext: function(event)
11.設定剪貼簿中的資料

setclipboardtext: function(event, value) else if (window.clipboarddata)

}

封裝一下,然後就可以直接用了呢。。。。

完整檔案及更多css、less基礎重置樣式見:

原生ajax相容問題

一 原生ajax相容低版本ie6的寫法 相容老版本瀏覽器ie6建立物件的寫法 new activexobject xmlhttp 引數是字串形式 一般情況都不再做ie6的相容了,太古老 一切物件都是window的成員if window.xmlhttprequest else二 onload事件不相容...

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 將要繫結事件的物件 ...