2013-02-14 11 views
5

Jestem całkowicie nowy w JavaScript. Ale wcześniej trochę się nauczyłem o Activescript. Nauczyłem się używać addEventListener do obsługi zdarzeń.JavaScript: onchange lub addEventListener?

Ale kiedy przychodzą do JavaScript, chociaż addEventListener jest opcją wydaje się niewielki sposób korzystania addEventListener. Zamiast tego ludzie używają funkcji Change().

wyjątkiem składniowo, czy są jakieś różnice w zachowaniu?

Byłem też uczy się zawsze używać removeEventListener. Wydaje się to niezbyt konieczne. Jeśli używam onChange, nie ma potrzeby, aby zakodować removeEventListener?

Dziękuję

+3

Aby dowiedzieć się o różnicach i wiele więcej, zajrzyj na http://www.quirksmode.org/js/introevents.html. –

Odpowiedz

2

Z addEventListener można dołączyć wiele detektorów zdarzeń. To nie jest prawda atrybutu onchange.

3

Dwie główne różnice:

  • addEventListener nie jest kompatybilny ze starymi przeglądarkami IE
  • onchange nie dodaje detektor zdarzeń: zastępuje istniejący jeden
1

Osobiście uważam addEventListener jest dużo lepsze. Przykładem można z tym zrobić w HTML5

document.addEventListener("input", function(){ 
 
    target = window.event.target.value; 
 
    window.event.target.nextSibling.nextSibling.value = target*2; 
 
});
<input name="1" value="25"> 
 
<input name="2" value="50" readonly> 
 
<p>Hello World</p>

Powiązane problemy