2013-03-18 70 views
0

我試圖實現Jquery-ui中提供的自動完成功能,作爲此railscast的一部分。理想情況下,我最終應該看起來像這樣github repoCoffeescript加載但不運行代碼

但我遇到了一個與名爲「contacts」的資源相關的coffeescript文件有問題。

#app/assets/javascripts/contacts.js.coffee 
jQuery -> 
    $('#search').autocomplete 
    source: "/search_suggestions" 

當我在瀏覽器的控制檯運行此代碼時,它的工作原理。但是當它在coffeescript文件中時,它不會。該文件在瀏覽器中加載。它只是不運行代碼。

我在做什麼錯?

回答

1

我的猜測是你在文檔準備好事件觸發後加載這個文件。您可以確認/做這個否定這個猜測:

setupAutocomplete = -> 
    $('#search').autocomplete 
    source: "/search_suggestions" 

jQuery setupAutocomplete 

然後,一旦加載頁面時,打開控制檯和手動調用setupAutocomplete功能。如果事情正常工作,這意味着您的文檔準備好回調從未解僱這個,大概是因爲它發生在這個代碼被加載之前。所以仔細研究一下。

+0

那麼,這個解釋肯定是有道理的。但是,當我在控制檯中運行'jQuery setupAutocomplete'時,出現一個有關意外標識符的錯誤。 – 2013-03-18 15:03:51

+0

好吧,你真的有jQuery加載?你是否將它設置爲依賴關係? – 2013-03-18 15:05:29

+0

是的。我有jquery和jquery-ui加載。我可以通過控制檯從Jquery-ui獲得所有的自動完成方法,如果我沒有安裝它,這是不可能的。 (除非我在這裏錯過了一些東西,我絕對是一個jQuery新手。) – 2013-03-18 16:21:07