部分ページ ポストバックを実行するときにイベント (jquery) を再バインドするにはどうすればよいですか?
私は以下を使用してすべてを配線しています:
$(document).ready(function(){};
部分的なページ ポストバックの後、イベントが発生しません。
部分ページ ポストバックを実行するときにイベント (jquery) を再バインドするにはどうすればよいですか?
私は以下を使用してすべてを配線しています:
$(document).ready(function(){};
部分的なページ ポストバックの後、イベントが発生しません。
「部分的なページのポストバック」から、Asp.net ランドで作業していると推測しています。
使ってみて
Sys.Application.add_load(function() { });
その関数内ですべての通常の jQuery を使用できるはずです。
最も洗練されたソリューション (jQuery 2.x を使用) は次のとおりです。
「on」イベントを使用します。要素自体ではなく、ドキュメントにイベントをバインドするようにしてください。
コード例:
$(document).on('click', 'div.messages', function () {
console.log('click on div.messages');
return false;
});
たとえば、このコードを document.ready に入れます。
これは、UpdatePanel 内で div.messages が変更または作成された場合でも機能します。また、一度に 2 回以上発射されることはありません。
部分的なポストバックを実行すると、一部の DOM 要素が置き換えられます。もちろん、新しい要素は jQuery バインディングを失います。ScriptManager クラスを使用して、部分的なポストバックが終了した後に実行されるスクリプトを登録できます (こちらをご覧ください) 。