2015-06-18 3 views
5

Это код, который я использовал в моей странице,В чем разница между addEventListener и attachEvent?

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

Пожалуйста, объясните мне, что там, где мой createIframe Funtion дозвонились? и в чем разница между addEventListener и attachEvent? и какая разница между load и onload? совершенно запутались, чтобы найти разницу между addEventLisener с нагрузкой и attachEvent с OnLoad

+1

Возможный дубликат [Правильное использование addEventListener()/attachEvent()?] (Http://stackoverflow.com/questions/2657182/correct-usage-of-addeventlistener-attachevent) –

+0

Прошу исследовать, прежде чем спрашивать ... . –

+0

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

ответ

11

Быстрый ответ: вы должны использовать attachEvent, если ваш браузер возвращает undefined == window.addEventListener. Вещь - это нестандартная функция JS, реализованная в IE8 и предыдущих версиях, а addEventListener поддерживается IE9 + (и всеми другими браузерами).

Итак, большой вопрос: собираетесь ли вы поддерживать IE8-?

Заметка о марже: window.onload = whatever будет отменять любые подключенные прослушиватели событий. Вот почему используется addEventListener: чтобы добавить функцию в стек события, а не переписывать ее.