2013-05-13 108 views
2

因爲ujs通過簡單地包含jquery ujs源代碼來分配事件處理程序,所以如何覆蓋特定調用的任何$ .ajax設置?如何在Rails中使用form_tag的'remote'來定製ajax調用?

很多例子都使用全局方法。這只是首選方法嗎?

(我問前面一個問題,我以爲所有的定製是可通過數據 - *屬性。)

+0

能幫你更具體?更好地使用案例或示例來展示你想要什麼樣的壓倒一切。 – 2013-05-13 03:37:06

+0

嗯,我想向xhr添加一個進度處理程序,我想分配一個本地「成功」處理程序 - 而不是使用$(document).ajaxSuccess。 – chrisp 2013-05-13 03:40:30

+0

得到了你的觀點。我有類似的情況。我想爲特定的div顯示加載圖標,但發現如果頁面的其他部分有Ajax成功,它將被觸發。這種情況並不重要,所以我放棄了,並以全局加載圖標結束:( – 2013-05-13 03:48:03

回答

1

您可以通過綁定到特定元素的AJAX的成功:

$element.bind("ajax:success", function(xhr, data, status){ 
    doSomeStuff(); 
}); 
+0

爲什麼我只能在表單上觸發'ajax:success'事件?(我沒有獲得全局'ajax:success'廣播在每個DOM元素上。) – chrisp 2013-05-13 13:31:23

+0

只是爲了檢查,你是否說你得到了在表單上觸發的'ajax:success'事件?如果是的話,我只能想象UJS正在防止事件冒泡,這似乎不太可能。如果這沒有發生,那麼我很難過! – RobHeaton 2013-05-13 13:46:58

+0

我得到'ajax:成功'被激發的形式,使ajax調用(通過:遠程)。我沒有得到'阿賈克斯:成功'事件發生在任何其他元素上,這裏有一些奇怪的東西......我嘗試綁定到所有的div,嘗試跟蹤這個,並且我得到了* a * ajax:success來觸發我有一個以上的'div'我的測試頁面。想法? – chrisp 2013-05-13 13:52:41