javascript - Rails 没有处理我的 jQuery .click 事件(甚至无法弹出警报。)

标签 javascript jquery ruby-on-rails coffeescript

我的 Rails 4 应用程序根本不处理 jQuery .click 事件。

在 Chrome 浏览器控制台中,当我键入此内容然后单击 h3 时,它就会起作用。

$("h3").click(function() { return alert("Clicked that thang");});   // This alerts on click of a h3

但是当我在我的应用程序中包含等效代码(在 CoffeeScript 中)时,它什么也不做..

# app/assets/javascripts/collaborators.js.coffee

alert("does this work?")        // yes this pops up an alert

$("h3").click ->
  alert("Does this work?")      // sadly nothing now happens when I click my h3's

我可以看出 jQuery 已加载。

Chrome 控制台:

>> $.fn.jquery
"1.10.2"

我还尝试过清理 Assets 管道:

$> 清理 Assets # 但这对我也没有帮助。

救命,怎么了,我错过了什么?

Rails 4.0 应用程序。

最佳答案

试试这个

$("body").on "click", "h3", ()->
  alert("Does this work?")

如果情况并非如此,那么 turbolinks 可能是罪魁祸首,请执行此操作

ready = ()->
  $("body").on "click", "h3", ()->
    alert("Does this work?")

$(document).ready(ready)
$(document).on('page:load', ready)

关于javascript - Rails 没有处理我的 jQuery .click 事件(甚至无法弹出警报。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27310422/

相关文章:

javascript - Google Chrome 扩展弹出窗口中的异步消息发送

javascript - 为什么在node.js fs模块中删除文件被命名为 "unlink"?

jquery - 在任何屏幕尺寸下将 div 向右浮动,边距向右

javascript - 我应该如何显示完整图像,而不在 div 中调整它的大小?

javascript - 让 jQuery 脚本在 iframe 加载时运行一次

ruby-on-rails - rails : Pretty print JSON without overkill

Javascript/jQuery 如何将负载旋转器附加到语法荧光笔插件

javascript - 文本结束在同一行

mysql - MySQL与Aptana Studio3

javascript - 将状态传递到 Ajax 调用 ReactJS 和 Rails