ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery を使用して動的に追加された要素にイベント ハンドラーをアタッチするにはどうすればよいですか?

jQuery を使用して動的に追加された要素にイベント ハンドラーをアタッチするにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-05 11:10:43
オリジナル
210 人が閲覧しました

How to Attach Event Handlers to Dynamically Added Elements with jQuery?

jQuery を使用してイベントを動的要素にバインドする方法

クラス .myclass を持つ要素にイベント ハンドラーをアタッチする既存の jQuery コードがあるとします。 。ただし、これらの要素が AJAX または DHTML 経由でページに動的に追加されるシナリオでは、新しく作成された要素には、関連付けられたクリック ハンドラーがありません。

問題の解決策

この問題に対処するために、jQuery はいくつかのアプローチを提供しています。

1. .on() メソッド (jQuery 1.7 ):

.live() メソッドを .on() に置き換え、引数として親要素と .myclass を組み合わせるセレクターを指定します。

$('body').on('click', 'a.myclass', function() {
    // do something
});
ログイン後にコピー

これにより、クリック ハンドラーがすべての にアタッチされます。いつページに追加されるかに関係なく、.myclass クラスのタグ。

2. .delegate() メソッド (jQuery 1.6 - 1.8):

.delegate() メソッドは .on() と同様に動作しますが、親要素を括弧内に指定する必要があります:

$('body').delegate('a.myclass', 'click', function() {
    // do something
});
ログイン後にコピー

.on() と .delegate() の両方で、動的に追加されたイベントの処理が可能になります要素。

以上がjQuery を使用して動的に追加された要素にイベント ハンドラーをアタッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート