0

我想在我的 Rails 站点的页面中隐藏一个元素,但我对 Jquery 或 Coffeescript 还不是很熟悉。

此代码在控制台中工作:

$('#TheButton').click(function(){$('#TheText').toggle()});

然后我将其转换为 Coffescript:

$("#TheButton").click ->
  $("#TheText").toggle()

但它在我的 Rails 页面上不起作用。我如何解决它?下面是生成的 javascript 文件:

(function() {
jQuery(function() { 
# stuff... 
  });

  $('form').on('click', '.add_fields', function(event) {
  # stuff... 
  });

  $("#TheButton").click(function() {
    return $("#TheText").toggle();
  });

}).call(this);
4

3 回答 3

2

如果您的 JS 文件嵌入在布局的顶部,则您拥有的每个文件都必须包含在该 jQuery 调用中

于 2013-03-22T22:27:44.427 回答
0

jQuery 的选择器在页面加载后才起作用。您需要确保您的代码在文档准备好后运行:

$(document).ready ->

  $("#TheButton").click ->
    $("#TheText").toggle()

  # other stuff you want to happen after document load
于 2013-03-22T22:36:06.997 回答
0

添加

$ ->

在你的代码之前确保它在 DOM 加载之后运行。

于 2013-03-23T01:25:20.900 回答