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