JavaScript(jQuery)イベント/リスナーに関する一般的な質問があります。パフォーマンスの問題が発生しないクリックリスナーの数に制限はありますか?
パフォーマンスの観点では、イベントがバインドされる要素の数は、問題が発生する場所です。
jsperf test です。各ケースでバインドされるイベントは1つだけですが、多くの要素へのバインドははるかに遅いことがわかります。
Jsperfの3番目のテストは、イベントを親要素にバインドし、委任を使用して必要な要素をリッスンする方法を示しています。 (この場合 .many
)
n.b.テストでは、3番目のオプションが最速であることが示されていますが、それはクラスではなくid
で要素をターゲットにしているためです。
更新:もう1つ perf testid
にバインドされた3つのイベントとclass
を使用してバインドされた1つのイベントを表示