1

RailsアプリケーションにjQuerydatatablesプラグインを使用するスピナーを入れました。コードは本当に単純です:

私は次のようなスピナーのdivとidを持っています:

<div id="spinner" class="spinner">
    <img id="img-spinner" src="/assets/spinner.gif" alt="Loading"/>
</div>

さらに、スピナーIDにフックするためのjQueryコードを少し追加します。

<script type="text/javascript">
  $(document).ready(function(){
    $("#spinner").bind("ajaxSend", function() {
      $(this).show();
    }).bind("ajaxStop", function() {
      $(this).hide();
    }).bind("ajaxError", function() {
      $(this).hide();
    });
   });
</script>

これはうまくいきます。ただし、ユーザーがデータテーブルの検索ボックスに検索文字列を入力したときにスピナー画像を表示したくない場合を除きます。datatablesはAjaxを使用して、a)初期ロード時にテーブルにデータを入力し、b)ユーザーがすべての文字を入力するときに検索文字列を送信するときにも使用します。スピナー画像のちらつきが多すぎます。私はまだデータテーブルの経験があまりないので、この目的に使用できるコールバックがあるかもしれませんか?

よろしくお願いします。

バーラト

4

1 に答える 1

0

私は同じ問題を抱えていましたが、最善の解決策は、特定のパスのグローバル ajax を無効にすることです。次のようなことができます。

$.ajax({
   url: "test.html",
   global: false,
   // ...
 });

グローバル イベントの詳細については、こちらをご覧ください。上記コードで、test.htmlをリクエストする場合ですglobalfalse検索機能にのみ同じものを使用できると思います。

于 2012-05-07T14:59:15.317 に答える