如何 运行 coffeescript on page change?

How to run coffeescript on page change?

我正在开发一个没有 turbolinks 的 Rails 4 应用程序。

我知道我可以通过以下方式将我的咖啡脚本告诉 运行:

$(document).ready ->
  $('.toggle_stage_item_edit_row_link').click (event) ->
    # some code

问题是当我用新的 toggle_stage_item_edit_row_link 更新 DOM 时,它没有附加事件。

如何告诉 coffeescript 在 "page change" 上设置事件侦听器?

我试过:

$(document).change ->
  $('.toggle_stage_item_edit_row_link').click (event) ->
    # some code

$(document).ready ->
  $(document).change ->
    $('.toggle_stage_item_edit_row_link').click (event) ->
      # some code

但是两者都不起作用。

您可以使用 on 绑定到动态创建的元素:

$(document).ready ->

  $(document).on 'click', '.toggle_stage_item_edit_row_link', ->