直接 vs. 委任: jQuery .on() の詳細
jQuery .on() メソッドは 2 つのイベント処理アプローチを提供します: 直接および委任。主な違いは、イベント伝播メカニズムにあります。
直接イベント処理
直接イベント処理を使用する場合、イベント ハンドラーはターゲット要素に直接割り当てられます。これは、ハンドラーがその特定の要素でイベントが発生した場合にのみ実行されることを意味します。例:
$("div#target span.green").on("click", function() { // Event handler for span.green elements within div#target });
この例では、div#target 内のspan.green 要素のみがクリック ハンドラーをトリガーします。
委任イベント処理
対照的に、委任されたイベント処理では、イベント ハンドラーが親要素に付加されます。親要素内でイベントが発生すると、jQuery は指定されたセレクターに一致する子要素にイベントを委譲します。このアプローチにより、動的に作成または削除される可能性のある要素の効率的なイベント処理が可能になります。
$("div#target").on("click", "span.green", function() { // Event handler for span.green elements that are descendants of div#target });
この場合、div#target コンテナ内の任意の scan.green 要素をクリックすると、イベント ハンドラが呼び出されます。イベントが委任された後に要素が追加されました。
キー違い
これらの違いを理解することは、jQuery アプリケーションでのイベント処理を最適化するために重要です。適切なアプローチの選択は、プロジェクトの特定の要件と、動的要素の作成が要素であるかどうかによって異なります。
以上がjQuery .on(): 直接イベント処理と委任されたイベント処理 - どちらを選択するべきですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。