私はJquery Mobileサイトでたくさんのプラグインを使用していますが、一度DOMに残っているページを離れると "クリーンアップ"する最良の方法を探しています。Jquery Mobile/Jqueryにページを残すときにイベント/プラグインのバインドを解除する必要がありますか?
質問:プラグインバインディングをアンバインド/オフ/アンデリゲートして、ページをビューに戻すときに再初期化するか、ユーザーが別のページにいる間にすべてを「バックグラウンドで」実行する必要がありますか?私はそうのようなプラグインを設定していた場合
いずれかの方法で、何が、これを行うための最善の方法のようになります。
// example using flexslider plugin
$('div:jqmData(role="page").basePage').on('pagecreate.flexslider', function() {
// make sure this fires only once when pagecreates fires more often
if ($('.flexslider').length > 0 && $('.flexslider').jqmData('bound') != true) {
// lock
$('.flexslider').jqmData('bound',true);
$('.flexslider').flexslider({
animation: "slide",
controlsContainer: $(".flex-container")
});
}
});
質問:
は(これは私のjQueryのモバイルアンカー・ページであると言います常にDOMにとどまります)、ユーザーがページを離れて再ロードするときに再起動するか、スライダをバックグラウンドで実行し続けると、オフになりますか?
ここで最も有効なのは何ですか?
は時々私はDOM内のページを維持しています。その場合、私は何らかの「クリーナー」を探していました – frequent
@frequent '.remove()'はあなたの友人です。また、 '.remove()'を使用している要素に対するJS参照を削除します。同様に: 'var $ image = $( '#my-img');' – Jasper