我有几个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
)
答案 0 :(得分:2)
这是Turbolinks的结果。您可以通过以下方式解决这个问题:
$(document).on 'click', '.my-btn', (event) ->
...
发生这种情况是因为 Turbolinks 正在加载页面,并且没有触发文档就绪事件。你想等到Turbolinks发起page:load
事件。
您不需要jQuery ->
以及上述代码。