0

データを動的にロードするために Ajax 呼び出しを行う jQuery Mobile 1.3.0 アプリがあります。以前のバージョンの jQuery Mobile でこれを行うためのさまざまなオプションを見てきましたが (「Show Page Loading Spinner on Ajax Call in jQuery Mobile」を参照)、1.3 の答えは見つかりませんでした。

Ajax 呼び出しは次のようになります。

$.getJSON(url, function(data) {
  console.log(JSON.stringify(data));
  $.each(data.cards, function(index, card) {
    $('#card-name').text(card.title);
  });
});

各 Ajax 呼び出しの読み込みスピナーを表示するための最良の方法は何ですか?

4

1 に答える 1

6

いくつかの調査といくつかのオプションを試した結果、これがアプリ内のすべての Ajax 呼び出しでうまく機能することがわかりました。JavaScript の先頭に次のコードを追加しました。

// Load the spinner if an ajaxStart occurs; stop when it is finished
$(document).on({
  ajaxStart: function() { 
    $.mobile.loading('show');
  },
  ajaxStop: function() {
    $.mobile.loading('hide');
  }    
});

このように、Ajax 経由でデータをロードする場所がいくつあっても、このコード スニペットを 1 回追加するだけで、jQuery Mobile ローダー (スピナー) が表示されます。

誰かがより良いアプローチを知っているなら、私に知らせてください。

于 2013-04-14T19:41:40.783 に答える