2016-04-26 190 views
0

我試圖觸發ajaxstart()當一個按鈕與類被點擊,但它不工作,任何反饋將不勝感激。觸發ajaxStart()onclick按鈕

感謝。

代碼:

$('.search-btn').ajaxStart(function() { 
     $('#spinner').show(); 
    }).ajaxComplete(function() { 
     $('#spinner').hide(); 
    }); 
+0

'ajaxstart()'不應該被「觸發按鈕時按下」 - 它應該對負載進行定義,當你運行一個Ajax任務,然後會自動觸發。如果您還想在單擊按鈕時使用*相同*功能(微調器顯示/隱藏),則將功能放入函數中並從兩者中調用。 –

回答

0

有點困惑,什麼是在你的例子發生。但我寫出了我想要做的認爲

$('.search-btn').on('click', function() { 
    $(this).ajaxStart(function(){ 
     $('#spinner').show(); 
    }).ajaxComplete(function() { 
     $('#spinner').hide(); 
    }); 
}); 
+0

「觸發器」ajax開始,而不是設置ajaxstart - 這不會在點擊時顯示微調器。如果這真的*是* OP想要的,那麼他們需要一個巴掌。 :) –

+0

同意,不完全確定他們以後是什麼,我的答案可能絲毫沒有用處。 :P – Flux

1

$.ajaxStart()$.ajaxComplete()應附$(document)。見$.ajaxStart()

在jQuery 1.9,全部爲jQuery global Ajax events處理程序,包括那些與.ajaxStart()方法添加,必須 被附接到document

$(document).ajaxStart(function() { 
     $("#spinner").show(); 
    }).ajaxComplete(function() { 
     $("#spinner").hide(); 
    });