2011-11-13 5 views
0

.ajaxStartまたは.ajaxStopに応じて、#loadingのdivを表示/非表示にするjQueryがあります。しかし、それはあまりにも一般的なようです。私がクリックする他のリンク - または私が試して提出するフォーム - スピナーを誘発する。だから私のul#infoContainerのリンクにのみ適用するには、以下のコードを制限する方法はありますか?特定のリンクにのみjQuery ajaxStart/ajaxStopを割り当てます

$(function() { 
    $('#loading') 
     .hide() // hide initially 
     .ajaxStart(function(){ 
      $(this).show(); 
     }) 
     .ajaxStop(function(){ 
      $(this).hide(); 
     }) 
}); 

答えて

1

グローバルAjaxイベントは、グローバルなイベントです。

振る舞いを$("ul#infoContainer a")に添付する場合は、#loadingの表示/非表示を行うクリックハンドラを使用する方がよい場合があります。

また、global: falseをAjaxリクエストに設定すると、は無効になります。はグローバル動作をトリガーします。私には、私がどこでそれを無効にするのではなく、私が望むところで行動を明示的に定義するのがより理にかなっています。

関連する問題