0

私は次の設定をしています:

Page1もっている:

アップデート

  • 更新:(input type="date"ページ初期化で今日に設定)
  • Page2リスト ビューのある別のページ ( ) にリンクするボタン
  • リスト ビュー ページから選択したユーザーに応じて更新される div

Page2もっている:

  • たくさんのリンクのリスト ビュー。

ユーザーがリンクをクリックするPage2と、日付に応じて選択が有効かどうかがチェックされPage1ます。はいの場合は、に戻り、選択に関する一連の情報をPage1更新します。div選択が有効でない場合は、メッセージとStart Overボタンを含むダイアログ ボックスが表示されます。

Start Overユーザーがリロードをクリックしてリダイレクトする場合を除き、これはすべて正常に機能しますPage1

これは私がそれを行う方法です:

<input type="button" class="reload" value="Start Over" />
$('.reload').live( "click", function()
{
    $.mobile.changePage( "#Page1", {
        transition: "slide",
        reverse: true,
        changeHash: true,
        reloadPage: true
    });
});

これは機能しますが、ページがリロードされると呼び出されませんpageinit

$('#Page1').live( 'pageinit',function(event){
  setTodaysDate();
});

したがって、日付は表示されませんPage1

div貴重な成功した選択に関する情報が表示されないように、ページを休ませる必要があるため、ページをリロードする必要があります。このタスクをどのように達成できるか考えていますか?

4

2 に答える 2

0

$('#Page1').on('pageshow', ...);代わりに使ってみませんか?

于 2012-07-28T23:44:01.887 に答える
0

次のコードをページ 1 に配置してみてください。

$(document)
  .unbind("pageshow.initializedate")
  .bind("pageshow.initializedate",
    function(event){
      setTodaysDate();
    }
  );

ページの初期化イベント (pageinit など) は、ページが表示および非表示になるたびに発生する show/hide イベントとは対照的に、「ページ」ごとに 1 回だけ発生することに注意してください。jQuery モバイルでは、ページはデフォルトで ajax を介してロードされ、キャッシュされることに注意してください。1 ページに 1 回ということは、ページの最初のロード時にのみ発生することを意味し、ページがキャッシュされて再度表示されると、ページ初期化イベントは実行されなくなります。

于 2012-07-28T23:44:42.627 に答える