使用link_to时Javascript没有执行

时间:2015-06-22 15:43:45

标签: javascript jquery ruby-on-rails

我有几个javascript函数可以将操作附加到控制器视图some/index中的按钮。我使用some/index方法导航到link_to。但是当我使用link_to方法时,按钮没有附加的javascript操作(在some/index视图中)。当我尝试直接从我的浏览器打开some/index时,按钮具有我需要的所有附加操作并且工作正常。

some.js.coffee

jQuery ->
    $('.my-btn').on 'click', (event) ->
    ...

我认为当我使用link_to时,它无法将操作附加到some/index中的按钮,因为它已经在root/index视图中执行了所有javascript,并且当我使用{{ 1}}。 我怎么解决这个问题?仍想使用link_to

1 个答案:

答案 0 :(得分:2)

这是Turbolinks的结果。您可以通过以下方式解决这个问题:

$(document).on 'click', '.my-btn', (event) ->
  ...

发生这种情况是因为 Turbolinks 正在加载页面,并且没有触发文档就绪事件。你想等到Turbolinks发起page:load事件。

您不需要jQuery ->以及上述代码。