2011-11-13 54 views
0

我有一些jQuery顯示/隱藏div與其中的微調取決於.ajaxStart.ajaxStop。不過這似乎太籠統了。我點擊的其他鏈接 - 或者我嘗試提交的表單 - 觸發微調器。那麼有沒有辦法限制下面的代碼僅適用於我的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請求中,不要想要觸發全局行爲。對我而言,明確定義我想要的行爲而不是禁止它的位置更有意義,但這只是我的偏見。