javascriptでのattachEventとaddEventListenerの使用法と違い



Usage Difference Attachevent



通常、JSには次のようなイベントを追加します

obj.onclick = method



イベントをバインドするこの方法は主流のブラウザと互換性がありますが、同じイベントが要素に複数回追加された場合はどうなりますか?

1 2 3 obj.onclick=method1 obj.onclick=method2 obj.onclick=method3

これを書くと、最後にバインドされたイベントのみ、ここではmethod3が実行されます。現時点では、onclickを使用できず、主人公が表示されるように変更されています。IEでは使用できます。 attachEventメソッド



1 2 3 btn1Obj.attachEvent('onclick',method1) btn1Obj.attachEvent('onclick',method2) btn1Obj.attachEvent('onclick',method3)

使用される形式は、前のイベントタイプです。 onclick、onsubmit、onchangeなどのアドオンが必要であり、実行の順序は次のとおりです。

method3-> method2-> method1

残念ながら、このMicrosoftプライベートメソッドはFirefoxやその他のブラウザではサポートされていません。幸い、それらはすべてW3C標準をサポートしています。 addEventListenerメソッド



1 2 3 btn1Obj.addEventListener('click',method1,false) btn1Obj.addEventListener('click',method2,false) btn1Obj.addEventListener('click',method3,false)

実行順序はmethod1-> method2-> method3です。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 '-//W3C//DTD XHTML 1.0 Transitional//EN' ' http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd '> ' http://www.w3.org/1999/xhtml '>attachEvent