2011-05-16 32 views
1

我有一個form_element我想改變它發佈時的樣式。爲什麼這些Element.observe'ajax:events'立即發射? - 原型

我改變這樣已經工作代碼:

form_element.observe("ajax:before", function(){ /*do stuff*/ }); 

這樣:

form_element.observe("ajax:before", changeFormToPostingStyle(form_element)); 

出於某種原因,馬上第二個火災時,頁面加載 - 這是無論事件。我試着改變事件ajax:complete/success/whatever,它仍然提前發射。有任何想法嗎?

回答

1

它觸發在語句的時間,因爲

changeFormToPostingStyle(form_element) 

是一個函數的調用和觀察預計,要在函數或返回一個函數的函數的調用。將其更改爲

form_element.observe("ajax:before", function() { changeFormToPostingStyle(this) }); 

form_element.observe("ajax:before", changeFormToPostingStyle); 

,並在功能

+0

這不是 「觀察家報」,但['Element.observe'(HTTP使用this://www.prototypejs。組織/ API /元素#方法-觀察)。然而,你說的正確的是該函數應該作爲一個對象來傳遞。 – clockworkgeek 2011-05-16 12:56:28

+0

感謝 - 我在Google搜索時只發現觀察者 - 已修復 – mplungjan 2011-05-16 13:04:28

+0

感謝您的編輯。現在看來我的評論正在談論你沒有做過的事情! – clockworkgeek 2011-05-16 13:34:16

相關問題