javascript在事件監(jiān)聽方面的兼容性小結(jié)
更新時間:2010年04月07日 11:46:45 作者:
javascript 在事件監(jiān)聽方面的兼容性總結(jié),注意是由于多個瀏覽器的不一致,導致大家在js書寫時需要考慮多個瀏覽器的兼容性。
1,IE使用attachEvent/detachEvent方法來添加和刪除事件監(jiān)聽器;w3c使用addEventListener/removeEventListener方法。
2,IE對其事件使用onevent的命名方式,而w3c的是event的命名方式。
3,IE事件監(jiān)聽器內(nèi)使用的是一個全局的Event對象,而w3c是將event對象作為參數(shù)傳遞給監(jiān)聽器。
4,為了避免觸發(fā)默認的事件行為,IE的做法是要求程序員設置Event對象中的returnValue屬性值為false,而w3c的做法是執(zhí)行preventDefault方法。
5,IE沒有提供對事件捕獲階段的支持。
6,要停止事件的傳遞,IE的做法是設置event對象的cancelBubble為true,而w3c的做法是設置執(zhí)行stopPropagation方法。
7,IE將事件監(jiān)聽器當做一個獨立的函數(shù)來調(diào)用,而w3c中它是作為對象的方法來調(diào)用的,這表示在ie中事件監(jiān)聽器中的this關鍵字指向的不是事件發(fā)生對象而是一個沒用的全局對象(window對象)。
8,IE在使用事件監(jiān)聽器方面存在內(nèi)存泄露問題。在IE瀏覽器中,如果要為某個元素創(chuàng)建一個事件監(jiān)聽器,并且在監(jiān)聽器中使用該元素,則在用戶進入其他頁面之前,該監(jiān)聽器以及相關的DOM節(jié)點作占據(jù)的內(nèi)存空間不會被釋放。
2,IE對其事件使用onevent的命名方式,而w3c的是event的命名方式。
3,IE事件監(jiān)聽器內(nèi)使用的是一個全局的Event對象,而w3c是將event對象作為參數(shù)傳遞給監(jiān)聽器。
4,為了避免觸發(fā)默認的事件行為,IE的做法是要求程序員設置Event對象中的returnValue屬性值為false,而w3c的做法是執(zhí)行preventDefault方法。
5,IE沒有提供對事件捕獲階段的支持。
6,要停止事件的傳遞,IE的做法是設置event對象的cancelBubble為true,而w3c的做法是設置執(zhí)行stopPropagation方法。
7,IE將事件監(jiān)聽器當做一個獨立的函數(shù)來調(diào)用,而w3c中它是作為對象的方法來調(diào)用的,這表示在ie中事件監(jiān)聽器中的this關鍵字指向的不是事件發(fā)生對象而是一個沒用的全局對象(window對象)。
8,IE在使用事件監(jiān)聽器方面存在內(nèi)存泄露問題。在IE瀏覽器中,如果要為某個元素創(chuàng)建一個事件監(jiān)聽器,并且在監(jiān)聽器中使用該元素,則在用戶進入其他頁面之前,該監(jiān)聽器以及相關的DOM節(jié)點作占據(jù)的內(nèi)存空間不會被釋放。
您可能感興趣的文章:
- Javascript 的addEventListener()及attachEvent()區(qū)別分析
- window.addEventListener來解決讓一個js事件執(zhí)行多個函數(shù)
- JS在IE和FF下attachEvent,addEventListener學習筆記
- javascript attachEvent和addEventListener使用方法
- JavaScript使用addEventListener添加事件監(jiān)聽用法實例
- javascript事件監(jiān)聽與事件委托實例詳解
- JavaScript綁定事件監(jiān)聽函數(shù)的通用方法
- js事件監(jiān)聽器用法實例詳解
- js事件監(jiān)聽機制(事件捕獲)總結(jié)
- javascript 傳統(tǒng)事件模型構(gòu)造的事件監(jiān)聽器實現(xiàn)代碼
- js中addEventListener()與removeEventListener()用法案例分析
相關文章
Javascript 計算字符串在localStorage中所占字節(jié)數(shù)
本文給大家分享的是使用Javascript 計算字符串在localStorage中所占字節(jié)數(shù),分別對UTF-8和UTF-16兩種編碼進行了詳細說明,有需要的小伙伴可以參考下。2015-10-10如何手動實現(xiàn)一個 JavaScript 模塊執(zhí)行器
這篇文章主要介紹了如何手動實現(xiàn)一個 JavaScript 模塊執(zhí)行器,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-10-10Javascript中eval函數(shù)的詳細用法與說明
Javascript中eval函數(shù)的詳細用法與說明...2007-03-03解決layer 關閉當前彈窗 關閉遮罩層 input值獲取不到的問題
今天小編就為大家分享一篇解決layer 關閉當前彈窗 關閉遮罩層 input值獲取不到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09