3

pageinit イベントを正しく使用しているかどうかはよくわかりません。Iam は 1 つの data-role="page" のみで作業しています。各「.html ファイル」は data-role="content" であり、javascript を介して表示または非表示にできます。

    $(document).delegate("#index", "pageinit", function(event, ui) {
  cookie = null;
  isLoggedIn(); //cookie = true || false
  initRotation();
  initNavigation();
  initService();
  .....
  if (cookie == null) {
    $('#login').show();
    $('#home, #foot, #service').hide();
  } else {
    $('#login, #service').hide();
    $('#foot, #home').show();
    $('#naviHome').addClass("ui-btn-active"); // ui-state-persist?!
  }
});

これまではうまくいきましたが、今はユーザーにフォームの写真を撮らせようとしています。カメラが開かれ、ユーザーがその写真を「保存」すると、Android の onRestart() イベントが発生し、それによって pageinit() イベントが再び発生します。私の2つの質問は次のとおりです。表示/非表示のdivの私の考えは常に良好なパフォーマンスであり、pageinit呼び出しを防ぐことができますか?

4

1 に答える 1

0

pageinit を起動する場所と起動しない場所を追跡する変数を持つことができます。ユーザーがカメラを開いたときに変数を変更して、画像が保存され、pageinit を起動しようとしても変更されないようにすることができます。次に、変数を元に戻して、他のイベントで再び発生できるようにします。

また、div の表示と非表示に関しては、これはパフォーマンスには最適ではありませんが、常にページをロードするよりはましです。すべてのテンプレート (html) をロードし、情報とテンプレートを js でロード/スワップするフレームワークを検討することをお勧めします。backbone.js のように

于 2013-02-14T20:19:28.640 に答える