Javascript 点击时的咖啡脚本事件未触发?

Javascript 点击时的咖啡脚本事件未触发?,javascript,ruby-on-rails,coffeescript,Javascript,Ruby On Rails,Coffeescript,我正在从事一个RubyonRails项目,在该项目中,单击视图中的链接到元素应该会触发我的CoffeeScript中的一个方法,但输出永远不会打印出来 这是我的HTML的相关部分(链接有效): 我的控制台显示“[AC]on click handler called?”,但没有其他内容,即使在我单击链接后也是如此。 我在谷歌上搜索了很多次,有几篇帖子暗示问题可能出在TurboLink上。上面的代码已经反映了我尝试过的几种解决方案中的两种(在link中指定get方法,用$(document)封装事件

我正在从事一个RubyonRails项目,在该项目中,单击视图中的
链接到
元素应该会触发我的CoffeeScript中的一个方法,但输出永远不会打印出来

这是我的HTML的相关部分(链接有效):

我的控制台显示“[AC]on click handler called?”,但没有其他内容,即使在我单击链接后也是如此。

我在谷歌上搜索了很多次,有几篇帖子暗示问题可能出在TurboLink上。上面的代码已经反映了我尝试过的几种解决方案中的两种(在link中指定get方法,用
$(document)封装事件处理程序)。在('turbolinks:load',->…)
)上,没有一种解决方案为我解决了这个问题。我是一名Rails初学者,对CoffeeScript一无所知,因此非常感谢您的帮助

编辑:

在事件处理程序中的('turbolinks:load',->…)
上添加id选择器并删除
link\u to
元素和
$(文档)中的get方法后,它终于起作用了D

HTML元素现在:

<%= link_to 'Start Quiz!', {:controller => :pages, :action => :start_quiz}, :class => 'btn btn-primary btn-lg', :id => 'start_quiz_button' %>
谢谢!:)

1)您需要将您的id更改为有效id(请阅读此内容),类似于
start\u quizz\u按钮

2) 使用id选择器
#

$(document).on('turbolinks:load', -> $('#start_quizz_button').on 'click', -> console.log "[AC] on click handler called!")

您希望
'btn btn primary btn lg'
选择器匹配什么?我发布的
链接元素的id不正确@mu?(1)id选择器使用
。(2)
'btn btn primary btn lg'
看起来像是一个类列表,而不是一个id。(3)有时阅读可能是一个好主意。是的,它曾经是我css的一个类,在我多次尝试修复问题时,我只是将其更改为id。我添加了一个#现在,谢谢:)谢谢,这很有意义!我已将其更改为您建议的内容,但是当我单击按钮时,“[AC]on click handler called!”仍然没有打印出来:(我非常感谢任何其他关于可能出现问题的提示。Nvm,我删除了上述两个turbolinks修复程序,现在它可以工作了-谢谢:)不客气。如果我的答案解决了你的问题,你能投票给我吗
<%= link_to 'Start Quiz!', {:controller => :pages, :action => :start_quiz}, :class => 'btn btn-primary btn-lg', :id => 'start_quiz_button' %>
App.quiz_data = App.cable.subscriptions.create "QuizDataChannel",
  connected: ->
    console.log "[AC] on click handler called?"
    $('#start_quiz_button').on 'click', -> console.log "[AC] on click handler called!"
$(document).on('turbolinks:load', -> $('#start_quizz_button').on 'click', -> console.log "[AC] on click handler called!")