ホームページ > ウェブフロントエンド > jsチュートリアル > モーダル内で動的に生成された要素からイベントをキャプチャするにはどうすればよいですか?

モーダル内で動的に生成された要素からイベントをキャプチャするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-18 11:15:17
オリジナル
233 人が閲覧しました

How Can I Capture Events from Dynamically Generated Elements Within a Modal?

動的に生成された要素からのイベントのキャプチャ

モーダル DIV 内で動的に生成された要素によってトリガーされるイベントが取得されないという問題が発生しています。既存のイベント ハンドラーによってキャプチャされます。この問題は、イベント ハンドラーがバインドされた後に追加されるこれらの要素の動的な性質が原因で発生します。

この問題に対処するために、jQuery には .on と .delegate (jQuery バージョン 1.7 より前の場合) という 2 つのメソッドが用意されています。 )。これらのメソッドを使用すると、ハンドラーがバインドされたときに存在する静的な祖先要素にイベントを委任できます。この場合、モーダル DIV は静的な祖先として機能します。

.on または .delegate を使用すると、祖先要素内で動的に生成された要素であっても、イベントが確実に祖先要素までバブルアップし、イベント ハンドラーをトリガーできます。それ。 .on メソッドを利用する更新されたコードは次のとおりです。

$('#modal').on('keyup', 'input', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});
ログイン後にコピー

また、1.7 より前の jQuery バージョンの場合は、次のように .delegate メソッドを使用できます。

$('#modal').delegate('input', 'keyup', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});
ログイン後にコピー

これを実装すると、ソリューションを使用すると、モーダル DIV 内で動的に生成された要素によってトリガーされるイベントを効果的にキャプチャして処理でき、ユーザーの入力が確実に記録されます。

以上がモーダル内で動的に生成された要素からイベントをキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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