【问题标题】:Javascript Coffeescript won't workJavascript Coffeescript 不起作用
【发布时间】:2012-09-22 21:03:25
【问题描述】:

我似乎无法使用咖啡脚本。我正在尝试使用 jquery 进行简单的自动完成。

这是我尝试实现自动完成的代码

<%= form_tag "/search", :method => "get" do %>
  <%= text_field_tag :query, params[:query], :value => "Search for people.", :class=>"searchbox", :onclick=>"this.value='';", :id => "querysearch" %>
  <%= image_submit_tag("site/blankimg.png", :name => nil, :class=>"searchbox_submit" ) %>
<% end %>

自动完成必须在文本字段上,并调用以下咖啡脚本来运行它

jQuery ->
  $('#querysearch').autocomplete
    source: ['foo', 'food', 'four']

现在,当我运行服务器时,没有任何效果,但是我确实查看了是否在以下脚本的链接上检查了我的源代码

(function() {

  jQuery(function() {
    return $('#querysearch').autocomplete({
      source: ['foo', 'food', 'four']
    });
  });

}).call(this);

现在我不知道咖啡脚本是否被执行,在我的 gem 文件中我有以下内容

source 'https://rubygems.org'

gem 'rails', '3.2.6'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'
gem 'devise'
gem "RedCloth", "~> 4.2.9"
gem "paperclip", "~> 3.0"
gem "paperclip-ffmpeg"
gem 'geocoder'
gem "coffee-script"
...

我也尝试从这篇帖子Application.js.coffee rails 中发表以下评论,但我不确定是否还有其他问题?

【问题讨论】:

  • 您在控制台中看到任何 JS 错误吗?
  • 如何查看 js 错误?我正在使用谷歌浏览器
  • 它的视图 > 开发人员 > OS X 上的 JavaScript 控制台
  • 未捕获的类型错误:无法调用未定义的“创建”方法
  • if ((localStorage["firstRun"]!="false") && (localStorage["firstRun"]!=false)){ chrome.tabs.create({url: "welcome.html ", selected:true}) Uncaught TypeError: Cannot call method 'create' of undefined localStorage["firstRun"] = false;

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 coffeescript


【解决方案1】:

我不熟悉您使用的库,但不应该...

jQuery ->
  $('#querysearch').autocomplete
    source: ['foo', 'food', 'four']

成为...

jQuery(document).ready ->
  $('#querysearch').autocomplete
    source: ['foo', 'food', 'four']

您当前的实现实际上将 jQuery 作为函数调用,而不是附加回调处理程序。

【讨论】:

  • 我认为它不起作用,如果我尝试它,我会看到没有源的 html 输出,这与 railcast 不同。
猜你喜欢
  • 2013-08-14
  • 1970-01-01
  • 2013-11-23
  • 1970-01-01
  • 2014-01-14
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
相关资源
最近更新 更多