javascript在事件監聽方面的相容性小結

來源:互聯網
上載者:User

1,IE使用attachEvent/detachEvent方法來添加和刪除事件監聽器;w3c使用addEventListener/removeEventListener方法。

2,IE對其事件使用onevent的命名方式,而w3c的是event的命名方式。

3,IE事件監聽器內使用的是一個全域的Event對象,而w3c是將event對象作為參數傳遞給監聽器。

4,為了避免觸發預設的事件行為,IE的做法是要求程式員設定Event對象中的returnValue屬性值為false,而w3c的做法是執行preventDefault方法。

5,IE沒有提供對事件捕獲階段的支援。

6,要停止事件的傳遞,IE的做法是設定event對象的cancelBubble為true,而w3c的做法是設定執行stopPropagation方法。

7,IE將事件監聽器當做一個獨立的函數來調用,而w3c中它是作為對象的方法來調用的,這表示在ie中事件監聽器中的this關鍵字指向的不是事件發生對象而是一個沒用的全域對象(window對象)。

8,IE在使用事件監聽器方面存在記憶體泄露問題。在IE瀏覽器中,如果要為某個元素建立一個事件監聽器,並且在監聽器中使用該元素,則在使用者進入其他頁面之前,該監聽器以及相關的DOM節點作佔據的記憶體空間不會被釋放。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.