0

我的要求AJAX不調用該函數出現加載的GIF,即時通訊使用一個樣本AJAX徵用,我的JS是:用使用AJAX:加載出現GIF不工作軌道jQuery的

$("#carregar").bind("ajax:loading", function(et, e){ 
    $(this).hide(); 
    $("#load_img").show(); 
}); 

IM樣品方法controller.js.erb和加載的內容,但GIF不出現請問是什麼錯?謝謝

+0

我想你在找什麼是http://api.jquery.com/ajaxStart/ –

回答

2

ajax:loading是由JS驅動程序觸發的一個事件,該驅動程序隨老版本的jQuery-rails一起提供。它已被改變。如果您使用的是更新版本的Rails,那麼您應該綁定到ajax:beforeSend事件。

其他需要考慮的事情:

1)爲ajax:beforeSend事件處理程序應綁定到其觸發AJAX請求,最有可能是FORM元素的元素。

2)當使用jQuery .bind()時,目標元素需要存在於DOM中。確保在綁定事件處理程序之前加載DOM的一種簡單方法是將腳本包裝在文檔就緒回調中。

$(document).ready(function(){ 
    $("#carregar").bind(...) 
}) 

3)Arun關於使用ajaxStart的建議很適合顯示和隱藏ajax加載指示器。

// Show and hide the indicator for every AJAX request. 

$(document).ajaxStart(function(){ 
    $("#load_img").show(); 
}); 

$(document).ajaxStop(function(){ 
    $("#load_img").hide(); 
}); 
+0

由於這種方法解決了我,但感謝所有,即時通訊在每一個響應學習,非常感謝感謝! – overallduka