ホームページ > ウェブフロントエンド > jsチュートリアル > ASP.NET UpdatePanel の更新後に jQuery イベント バインディングを維持するにはどうすればよいですか?

ASP.NET UpdatePanel の更新後に jQuery イベント バインディングを維持するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-05 13:44:10
オリジナル
220 人が閲覧しました

How Can I Maintain jQuery Event Binding After ASP.NET UpdatePanel Updates?

UpdatePanel 更新への jQuery イベント バインディングの適応

UpdatePanels 内に jQuery イベント処理を組み込むと、ページの部分更新中に要素が置換されるため課題が発生します.

初期値に $(document).ready を使用結合が不十分になります。問題に記載されているように、更新後は「UpdatePanel 内では実行されず、マウスオーバー効果が機能しなくなります」。

推奨アプローチ: PageRequestManager を利用する

この問題を解決するには、UpdatePanel を更新するたびにイベントを再度サブスクライブすることをお勧めします。 PageRequestManager を通じてアクセスされる ASP.NET Ajax ライフサイクルがソリューションを提供します。

次のコードは、このアプローチを示しています。

$(document).ready(function() {
    // bind jQuery events initially
});

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(function() {
    // re-bind jQuery events
});
ログイン後にコピー

UpdatePanel が存在する場合にアクセス可能な PageRequestManager は、endRequest を提供します。更新が完了するとトリガーされるイベント。このイベントにより、jQuery イベントの再バインドが可能になります。

代替オプション: jQuery .on()

状況に応じて、jQuery の .on() メソッドが提供される場合があります。より効率的な代替手段。 .on() を使用すると、要素のコンテナへのバインドが可能になるため、更新のたびに再バインドする必要がなくなります。ただし、このアプローチの制限を考慮し、特定のニーズに適合するかどうかを確認することが重要です。

以上がASP.NET UpdatePanel の更新後に jQuery イベント バインディングを維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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