2013-03-18 69 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