jQuery での動的 HTML のイベント処理
動的に読み込まれる HTML を扱う場合、新しく作成された要素にクリック イベントを追加することが課題になります。この記事では、この問題を調査し、live() メソッドの非推奨に対処するために jQuery に導入された最新の on() メソッドを使用した解決策を提供します。
問題ステートメント:
を使用して HTML コンテンツを動的にロードするとき$('#parent').load("http://...")** 子要素にクリック イベントを追加しようとしましたが、 **$('#parent').click(.. .) または $('#child').on('click', ...)** はイベントを登録します。この問題は、**$('#child') が動的読み込み前には存在しない要素を表すために発生します。
解決策:
効率的に行うには動的にロードされる要素のクリック イベントを処理するには、イベント委任が使用されます。このアプローチには、動的に変化しない親要素にイベントをバインドし、ターゲットの子要素に一致するセレクターを指定することが含まれます。
$('#parent').on("click", "#child", function() {});
このシナリオでは、クリック イベント ハンドラーが # にアタッチされます。親要素。 #child 要素内でクリックが発生すると、イベントが #parent までバブルアップします。イベント ハンドラーはイベント ターゲットをチェックし、それが #child セレクターと一致する場合、クリック ハンドラーが実行されます。
説明:
これ委任アプローチは、子要素が存在する前にイベント ハンドラーを親要素にアタッチできるため、効果的です。その結果、子要素がロードされてクリックされると、イベントが親に伝播し、クリック ハンドラーがその子要素専用にトリガーされます。
イベント委任の利点:
以上がjQuery の「on()」メソッドは、動的に読み込まれる HTML 要素のクリック イベントを効果的に処理するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。