2015-06-18 15 views
5

Đây là mã i được sử dụng trong trang của tôi,Sự khác biệt giữa addEventListener và attachEvent là gì?

if (window.addEventListener) { 
    window.addEventListener("load", createIframe, false);    
} 
else if (window.attachEvent) { 
    window.attachEvent("onload", createIframe);    
} 
else { 
    window.onload = createIframe;   
} 

Xin giải thích với tôi rằng nơi createIframe Chức năng của tôi được gọi là? và sự khác nhau giữa addEventListenerattachEvent là gì? và sự khác nhau giữa tảitải trọng là gì? hoàn toàn bối rối để tìm sự khác biệt giữa addEventLisener với tải và attachEvent với onload

+1

có thể trùng lặp của [Sử dụng đúng cách addEventListener()/attachEvent()?] (Http://stackoverflow.com/questions/2657182/correct-usage-of-addeventlistener-attachevent) –

+0

Vui lòng nghiên cứu trước khi yêu cầu ... –

+0

http://stackoverflow.com/questions/3743446/attachevent-versus-addeventlistener?rq=1 –

Trả lời

11

câu trả lời nhanh: bạn phải sử dụng attachEvent nếu trình duyệt của bạn trả về undefined == window.addEventListener. Điều trước đây là một hàm JS không chuẩn được thực hiện trong IE8 và các phiên bản trước, trong khi addEventListener được hỗ trợ bởi IE9 + (và tất cả các trình duyệt khác).

Vì vậy, câu hỏi lớn đặt ra là: bạn sẽ hỗ trợ IE8-?

Ghi chú ký quỹ: window.onload = whatever sẽ ghi đè mọi trình xử lý sự kiện được đính kèm. Đây là lý do tại sao addEventListener được sử dụng: để thêm chức năng vào ngăn xếp của sự kiện, thay vì ghi đè lên nó.

Các vấn đề liên quan