0

でページの読み込みが完了するjQuery Mobileと、スピナーが消えます。スピナーを何らかのイベント(サーバーからのデータ到着)が終了するまで維持したい:

$('#form').live('pagebeforeshow', function(){
   var def = $.Deferred();

   $.post('url', obj)
      .success(function (response) {
         def.resolve();
      });

   def.done(function(){
      // I want the spinner to disappear now.
   });
});
// in this point, once the 'pagebeforeshow' handler is returned,
// the spinner disappears - but I want it to stay only after def is resolved.

(ところで、スピナーが取り外されたポイントを見つけて、その直後に再表示する方が簡単だと思います。そのリスクがない、よりエレガントなソリューションを見つけたいと思います(ただし、リスクは小さいですが、それでも..)そのようなちらつきがあること)

4

1 に答える 1