HTMLイベントハンドラー属性の使用を停止する必要があります

user3079292

HTMLイベントハンドラー属性の使用を停止しaddEventListener()、常に使用を開始する必要がありますか?

例:

<button id="mybutton">Click me</button>
<script>
     var b = document.getElementById("mybutton");
     b.onclick = function() { alert("Thanks for clicking me!"); };
     b.addEventListener("click", function() { alert("Thanks again!"); }, false);
</script>

の使用をやめてonclick代わりにonchange使い始めるべきaddEventListener()ですか?

TJクラウダー

「すべき」は意見に基づく答えにつながります。:-)

客観的に、使用addEventListenerする利点は次のとおりです。

  1. 同じ要素の同じイベントに対して複数のハンドラーを持つことができます。

  2. JavaScriptをHTMLからより効果的に切り離すことができます。構造セレクターまたはその他のセレクターを介して間接的に要素を見つけることにはまだ結合がありますが、少なくともHTMLにはJavaScriptの知識がありません。HTMLとJavaScriptの間のコントラクトを定義することで(たとえば、何かを追加する必要のあるボタンにadd-btnクラスなどがあります)、コントラクト以上のことを知らなくても、さまざまなチームがHTMLとJavaScriptに取り組むことができます。

不利な点は、IE8を無視できない限り、ブラウザの違いを抽象化するライブラリを使用しない限り(そして、それはまだ膨大な数の人々によって使用されているため[ネットアプリケーションは2013年11月の時点で21.7%と言っています;統計カウンターは8.65と言っています% ]、ニッチなサイトだけがそれを無視することができます)、あなたはaddEventListener/attachEvent面倒を自分で処理しなければなりませんこれは簡単で、1つのhookEvent関数などを使用しますが、欠点があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

window.onpopstate-このイベントハンドラーを削除する必要がありますか?

分類Dev

特定のApplicationDbContextをEnd_Requestイベントハンドラーで破棄する必要がありますか?

分類Dev

JavaScriptイベントハンドラーを単体テストする必要があります

分類Dev

try-catchを複数のイベントハンドラーでどのように使用する必要がありますか?

分類Dev

TypeScript + Reactを使用してイベントハンドラーを `this`にバインドする必要がありますか?

分類Dev

TypeScript + Reactを使用してイベントハンドラーを `this`にバインドする必要がありますか?

分類Dev

アグリゲートはイベントハンドラーである必要があります

分類Dev

イベントハンドラーが起動して忘れる必要があります

分類Dev

イベントハンドラー用にデータベース接続を開いたままにする必要がありますか?

分類Dev

fromEvent演算子を介してバインドしたイベントハンドラーを解放する必要がありますか?

分類Dev

ハンドラーを削除する必要がありますか

分類Dev

DOMが変更されたときにイベントハンドラーをクリーンアップする必要がありますか?

分類Dev

なぜ、いつハンドラーを使用する必要がありますか?

分類Dev

イベントハンドラーの登録に問題があります

分類Dev

読み取りモデルを構築するには、イベントソーシングイベントハンドラーをどのようにホストする必要がありますか?

分類Dev

どの完了ハンドラーを作成する必要がありますか?

分類Dev

$ destroyが発生したときに、ディレクティブでイベントハンドラーを削除する必要がありますか?

分類Dev

イベントハンドラーはWindowsサービスのどこに配置する必要がありますか?

分類Dev

Xamarin.Formsで、ビューからイベントハンドラーを削除する必要がありますか?

分類Dev

要素がページに存在するとすぐに、イベントハンドラーをHTML要素にアタッチする方法はありますか?

分類Dev

React機能コンポーネントのすべての関数ハンドラーでuseCallbackを使用する必要があります

分類Dev

React機能コンポーネントのすべての関数ハンドラーでuseCallbackを使用する必要があります

分類Dev

dojo dgrid で行のドラッグ アンド ドロップを処理するには、どのイベントを使用する必要がありますか?

分類Dev

Bumblebeeを使用している場合、プライベートNvidiaドライバーをインストールする必要がありますか?

分類Dev

ディスラプター1つのイベントハンドラーが他のイベントハンドラーを停止します

分類Dev

サイレント外付けハードドライブを使用するには何を探す必要がありますか

分類Dev

SVG画像内の要素にonclickイベントハンドラーを登録する方法はありますか?

分類Dev

戦略パターンのこのPython実装は、initメソッドでプライベート変数を使用する必要がありますか?

分類Dev

WixインストーラーはDLLにあるガイドを使用する必要がありますか?

Related 関連記事

  1. 1

    window.onpopstate-このイベントハンドラーを削除する必要がありますか?

  2. 2

    特定のApplicationDbContextをEnd_Requestイベントハンドラーで破棄する必要がありますか?

  3. 3

    JavaScriptイベントハンドラーを単体テストする必要があります

  4. 4

    try-catchを複数のイベントハンドラーでどのように使用する必要がありますか?

  5. 5

    TypeScript + Reactを使用してイベントハンドラーを `this`にバインドする必要がありますか?

  6. 6

    TypeScript + Reactを使用してイベントハンドラーを `this`にバインドする必要がありますか?

  7. 7

    アグリゲートはイベントハンドラーである必要があります

  8. 8

    イベントハンドラーが起動して忘れる必要があります

  9. 9

    イベントハンドラー用にデータベース接続を開いたままにする必要がありますか?

  10. 10

    fromEvent演算子を介してバインドしたイベントハンドラーを解放する必要がありますか?

  11. 11

    ハンドラーを削除する必要がありますか

  12. 12

    DOMが変更されたときにイベントハンドラーをクリーンアップする必要がありますか?

  13. 13

    なぜ、いつハンドラーを使用する必要がありますか?

  14. 14

    イベントハンドラーの登録に問題があります

  15. 15

    読み取りモデルを構築するには、イベントソーシングイベントハンドラーをどのようにホストする必要がありますか?

  16. 16

    どの完了ハンドラーを作成する必要がありますか?

  17. 17

    $ destroyが発生したときに、ディレクティブでイベントハンドラーを削除する必要がありますか?

  18. 18

    イベントハンドラーはWindowsサービスのどこに配置する必要がありますか?

  19. 19

    Xamarin.Formsで、ビューからイベントハンドラーを削除する必要がありますか?

  20. 20

    要素がページに存在するとすぐに、イベントハンドラーをHTML要素にアタッチする方法はありますか?

  21. 21

    React機能コンポーネントのすべての関数ハンドラーでuseCallbackを使用する必要があります

  22. 22

    React機能コンポーネントのすべての関数ハンドラーでuseCallbackを使用する必要があります

  23. 23

    dojo dgrid で行のドラッグ アンド ドロップを処理するには、どのイベントを使用する必要がありますか?

  24. 24

    Bumblebeeを使用している場合、プライベートNvidiaドライバーをインストールする必要がありますか?

  25. 25

    ディスラプター1つのイベントハンドラーが他のイベントハンドラーを停止します

  26. 26

    サイレント外付けハードドライブを使用するには何を探す必要がありますか

  27. 27

    SVG画像内の要素にonclickイベントハンドラーを登録する方法はありますか?

  28. 28

    戦略パターンのこのPython実装は、initメソッドでプライベート変数を使用する必要がありますか?

  29. 29

    WixインストーラーはDLLにあるガイドを使用する必要がありますか?

ホットタグ

アーカイブ