js事件相容處理(不同瀏覽器的事件相容處理)

2021-08-29 10:12:27 字數 1798 閱讀 9228

var eventutil=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事件,

* 事件的主要目標是獲得游標的元素,那麼它的相關元素就是那個失去游標的元素。dom通過event物件的relatedtarget屬性提供

* toelement(mouseout)。

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

},/**

* 滑鼠按鈕事件:event上的button屬性,表示按下或釋放地按鈕

* dom有三個值:0表示主滑鼠按鈕,1表示中間的滑鼠按鈕(滑鼠滾輪按鈕),2表示次滑鼠主鍵(常規設定中,左鍵是主滑鼠按鈕,

* 右鍵是次滑鼠按鈕。

* ie8之前也提供了button屬性,但與dom有很大的差別:

* 0:表示沒有按下滑鼠按鈕

* 1:表示按下了主滑鼠按鈕

* 2:表示按下了次滑鼠按鈕

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

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

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

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

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

* 通過測試「mouseevents」這個特性,可以確定event物件中存在的button屬性是ie的還是dom的,

* 如果失敗說明是ie,那麼就對其進行相應的規範化

*/getbutton:function(event)else}},

/*** 滑鼠滾輪事件:mousewheel

* 火狐(firefox)瀏覽器的滾輪時間和其他瀏覽器有所不同。

* 火狐監聽滾輪事件:event.addhandler(document,'dommousescroll',getwheeldelta)

* 其他瀏覽器:event.addhandler(document,'mousewheel',getwheeldelta)

*/getwheeldelta:function(event)else

},/**

* 字元編碼:ie、firefox、chrome和safari的event物件都支援乙個charcode屬性,這個屬性只有在發生keypress事件時才包含值,

* 而且這個值是按下的那個鍵所代表字元的ascii編碼。

* keypress:使用者按下鍵盤上的字元鍵時觸發,如果按住不放的話,會重複觸發此事件。(按esc也會觸發)

* keycode返回的是鍵碼,eg:左箭頭,上箭頭,有箭頭,下箭頭的鍵碼分別是37、38、39、40

* charcode返回的的ascii編碼

* 在取得了實際的字元編碼後,可以使用string.fromcharcode()將其轉換成實際的編碼

*/getcharcode:function(event)else

}}

相容 瀏覽器相容那些事

這段時間,經常會接到很多需要處理瀏覽器相容問題的工作。開個玩笑的說,如果看到乙個人的電腦裝了很多瀏覽器,那麼勇敢地懷疑他的崗位是不是web前端開發吧。有一段時間,我的電腦同時安裝了chrome ff 360 ie 搜狗和yy瀏覽器,另外還有ietester用作除錯不同版本的ie。瀏覽器相容一事是前端...

JS處理關閉瀏覽器事件

在web程式中,重新整理或者離開當前頁面,需要某些操作時候,可以使用window.onbeforeunload。但是如何判斷是重新整理還是關閉。就比較複雜了。從網上整理的資料來看,大多是根據滑鼠是否點選右上角的x號來判斷是否是關閉。僅在ie8中有效 判斷是不是關閉,應該了解的知識 1.關於windo...

CSS相容不同瀏覽器

製作頁面的時候,由於瀏覽器的不同,對css的解析也會有所不同,從而達不到我們預期想要的頁面效果,這個時候我們就需要針對不同的瀏覽器去寫不同的css,讓它能夠同時相容不同的瀏覽器。css hank。原始 歡迎光臨!減號是ie6專有的hack 9 ie6 ie7 ie8 ie9 ie10都生效 0 ie...