1

jquery.load() を呼び出す div にのみ「読み込み中...」テキストを表示するにはどうすればよいですか。

$(document).ready(function()
{
    //only one ajaxSend for all divs
    $(document).ajaxSend(function()
    {
        $(this).html('LOADING...'); //'this' doesn't works
    });

    //...

    $("#ranking-content").load("content/ranking.php");
    $("#empleados-content").load("content/empleados.php");
    //... more and more

});

ajaxSend コールバック内で、その ajax リクエストを行った div の ID を取得するにはどうすればよいですか?

divごとに1つのajaxSendを実行するよりも良い方法があると確信しています。

4

1 に答える 1

3

特定の div の動作をカスタマイズするには、ajax関数を使用します。

beforeSend(ajax 呼び出しの前に実行するスクリプト) とcontext(HTML 要素)を定義します。

$.ajax({
  context: $('#ranking-content'),
  url: 'content/ranking.php',
  beforeSend: function (xhr) {
    $(this).html('Loading');
  }
}).done(function (data) {
  $(this).html(data);
});

これを使用するajaxSend必要はありません。このコードを再利用するには、パラメーターを ajax にマージし、呼び出し元から提供された設定を使用します。

于 2013-01-09T04:33:51.947 に答える