ホームページ ウェブフロントエンド jsチュートリアル 私の jQuery `on('change')` が動的に追加されたドロップダウンで機能しないのはなぜですか?

私の jQuery `on('change')` が動的に追加されたドロップダウンで機能しないのはなぜですか?

Dec 15, 2024 pm 01:43 PM

Why Doesn't My jQuery `on('change')` Work on Dynamically Added Dropdowns?

jQuery の live() から on() への移行: 何が問題でしたか?

jQuery では、 live() メソッドは次のように置き換えられました。イベント処理には on() を使用します。ただし、jQuery 1.7 に移行し、on('change') を使用して動的に追加されたドロップダウンの変更を検出したにもかかわらず、イベント ハンドラーは非アクティブなままでした。

解決策

主な違いは、on() がイベント委任を処理する方法にあります。動的に作成された要素にイベント ハンドラーを付加する live() とは異なり、on() は呼び出し時に存在する要素にのみハンドラーをバインドします。

live() と同じ機能を実現するには、on( ) 構文は次のように変更する必要があります:

$(document.body).on('change', 'select[name^="income_type_"]', function() {
    alert($(this).val());
});
ログイン後にコピー

これにより、イベント ハンドラーがドキュメント本文にバインドされ、追加された要素に対してもハンドラーが確実にアタッチされます。

あるいは、よりターゲットを絞ったイベント処理のために、可能な限り最も近い祖先要素にハンドラーをアタッチすることを検討してください。

jQuery ドキュメントでは、on() が以前のものとは異なる動作をすることを明示的に述べており、そのイベントを強調しています。ハンドラーは既存の要素にのみバインドされます。これは、on('change') を使用した最初の実装が起動しなかった理由を説明しています。

以上が私の jQuery `on('change')` が動的に追加されたドロップダウンで機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

jQuery日付が有効かどうかを確認します jQuery日付が有効かどうかを確認します Mar 01, 2025 am 08:51 AM

jQuery日付が有効かどうかを確認します

jQueryは要素のパディング/マージンを取得します jQueryは要素のパディング/マージンを取得します Mar 01, 2025 am 08:53 AM

jQueryは要素のパディング/マージンを取得します

10 jQuery Accordionsタブ 10 jQuery Accordionsタブ Mar 01, 2025 am 01:34 AM

10 jQuery Accordionsタブ

10 jqueryプラグインをチェックする価値があります 10 jqueryプラグインをチェックする価値があります Mar 01, 2025 am 01:29 AM

10 jqueryプラグインをチェックする価値があります

ノードとHTTPコンソールを使用したHTTPデバッグ ノードとHTTPコンソールを使用したHTTPデバッグ Mar 01, 2025 am 01:37 AM

ノードとHTTPコンソールを使用したHTTPデバッグ

jQueryはscrollbarをdivに追加します jQueryはscrollbarをdivに追加します Mar 01, 2025 am 01:30 AM

jQueryはscrollbarをdivに追加します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

See all articles