jquery-ui-dialogを使用したページがあります。ダイアログが開くたびに、ページの内容がajaxを使用して読み込まれます。次に、jquery "on()"を使用していくつかのイベントをバインドします。 ダイアログが閉じると、そのコンテンツは空になります。要素を削除する前にjqueryイベントのバインドを解除する必要がありますか?
質問はです。$ .empty()より前の ".ajax-content"のイベントをアンバインドする必要がありますか?
編集: 懸念1.すべての可能な劣化JSのパフォーマンス?この方法で何百ものノードを空にすれば
懸念2.も要素を削除するメモリ(またはjqueryのの何でも実行/評価チェーン)からイベントを削除しますか?
私は今は何もしていません。 ページを更新せずに何度もダイアログを開いたり閉じたりした場合、問題はありますか?
<div id="jquery-dialog" class="container">
<div class="ajax-content">
some buttons....
</div>
</div>
------after each ajax load------------
$(".ajax-content").on("click", ".button", function(event) {
//handles the click
});
------on dialog close------------
$("#jquery-dialog").empty();
1:どのような良い質問?私はこれも心配しています。 – vietean