1

私は小さなjQueryモバイルサイトを持っています。

  • それはすべて単一の.htmlファイルです
  • いくつかの編集機能(表示、編集、保存)があります
  • すべてが動作しますajax/json/web service

私のページのほとんどはからのデータをweb service, via AJAX & JSON使用しているので、私は以下をたくさん使用しています:

$(document).on( 'pagebeforecreate', '#monday', function() {

// do some stuff on before create, load data with AJAX

});

では、そのページの再作成(pagebeforecreateイベント)を強制して、内部のAJAXが再度実行されるようにするにはどうすればよいですか(サーバーから最新のデータを取得します)。

4

3 に答える 3

2

pageBeforeShowの代わりに使用しpageBeforeCreateます。

jqm documentationから、作成イベントについて。

ページが表示および非表示になるたびに発生する show/hide イベントとは対照的に、これらのイベントは「ページ」ごとに 1 回だけ発生することに注意してください。

于 2012-11-26T16:57:22.243 に答える
2

pagebeforecreateイベントが発生したとき、およびサイトを更新したいときはいつでも呼び出すことができる関数を作成することをお勧めします。

function myUpdateFunc() {
    // load data w/ AJAX
}

$(document).on('pagebeforecreate', '#monday', function () {
    //do some stuff on `pagebeforecreate`

    myUpdateFunc();
});

myUpdateFunc()これで、宣言されたスコープ内のどこからでも関数を呼び出すことができます。

.trigger()また、イベントをトリガーし、イベントのイベント ハンドラーでコードを実行するために使用できます。

$('#monday').trigger('pagebeforecreate');
于 2012-11-26T17:35:05.777 に答える
1

次のコードを使用して、ページの再作成/更新を強制します。

function refreshPage() {
  $.mobile.changePage(
    window.location.href,
    {
      allowSamePageTransition : true,
      transition              : 'none',
      showLoadMsg             : false,
      reloadPage              : true
    }
  );
}

hereから取得してテストしました。

于 2012-11-26T18:37:13.383 に答える