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 |
|