JS(Coffee-Script)在rails app中不起作用

时间:2014-07-25 17:53:07

标签: javascript ruby-on-rails coffeescript

我正在写一个简单的代码,如:

ready = ->
  $('div').click ->
  $(this).append "<span style='color:#f00;'>olol</span>"
$(document).ready(ready)
$(document).on('page:load', ready)

但是,当我点击网页上的div元素时,没有任何反应。当我把它放入标签之间的HTML文件时一切正常!请帮助,似乎,我已经尝试了所有的东西!

1 个答案:

答案 0 :(得分:2)

您没有正确缩进点击处理程序的正文。这部分:

$('div').click ->
$(this).append "<span style='color:#f00;'>olol</span>"

将编译为:

$('div').click(function() {});

$(this).append("<span style='color:#f00;'>olol</span>");

正如您所看到的,单击处理程序中的函数为空。通过缩进第二行来修复它:

$('div').click ->
  $(this).append "<span style='color:#f00;'>olol</span>"

现在按预期编译:

$('div').click(function() {
  return $(this).append("<span style='color:#f00;'>olol</span>");
});

写Coffeescript时要注意空白。