让 jQuery 与 Turbolinks 一起工作

Ada*_*NYC 5 ruby-on-rails turbolinks

我有一个 Rails 4 应用程序,它使用Turbolinks. 我的理解是,这Turbolinks会破坏 jQuery 代码,因为 Turbolinks 不会加载新页面,而只会获取新元素。

因此,导航到新页面可能不会触发.ready,尽管它总是触发.page:load,因此新的 jQuery 代码不会初始化。

我有很多 jQuery 代码,所以我不想修改我的 jQuery 代码以与 Turbolinks 兼容。

是否可以向我的 application.js 添加一段 javascript 代码来覆盖.ready要包含的事件page:load?我该怎么做呢?

Tyl*_*ler 4

与其等待$(document).readyjQuery 触发,不如使用page:load

$(document).on 'page:load' ->
  <your code>
Run Code Online (Sandbox Code Playgroud)

或者,您可以设置 jquery.turbolinks gem: https: //github.com/kossnocorp/jquery.turbolinks