1htmlファイルでリロードすることなく、divの差し替え(animateによるスライド)で画面遷移を実現させるWEBページを作っています。
ちなみにDIV内はすべて画像です。
以下のサイトを参考に、クラス"link"要素(画面内のクリッカブルエリア)に対して、jquery mobileのtapイベントをバインドしています。
http://text.moroya.net/entry/2013/05/06/122013
javascript
1$('.link').on('tap',function(e){ 2 //新しいDIVを生成し、htmlにappendして画面遷移のような動きをさせる処理が走る 3});
新しい画面へ遷移する際に、古い画面のdivはremoveするのですが、
イベントはメモリ上に残ってしまうということなので、以下のようにアンバインドさせ、
念のため要素自体も明示的に破棄していますが、いまいちパフォーマンスが上がりません。
(画面遷移を繰り返しているうちに動きが重くなる。)
javascript
1//linkに紐づくイベントをすべて除去し、自身も破棄する。 2$(".link").each(function(e,elm){ 3 $(elm).unbind(); 4 delete elm; 5});
画像のキャッシュがたまってしまっているのか、
イベントが正しく破棄されているのかも切り分けられていないのですが、
どのようにしてアンバインドされているか(メモリ上からいなくなっているか)確認すればよいでしょうか?
あなたの回答
tips
プレビュー