在尝试以“rails 方式”组织 JS 文件时,我在 Rails 4 应用程序中遇到了一个问题。它们以前分散在不同的视图中。我将它们组织成单独的文件并使用资产管道编译它们。但是,我刚刚了解到,当打开涡轮链接时,jQuery 的“就绪”事件不会在后续点击时触发。第一次加载页面时它可以工作。但是当你点击一个链接时,里面的任何东西ready( function($) {
都不会被执行(因为页面实际上不会再次加载)。很好的解释:这里。
所以我的问题是:确保 jQuery 事件在 turbo-links 打开时正常工作的正确方法是什么?您是否将脚本包装在特定于 Rails 的侦听器中?或者 Rails 有一些魔法让它变得不必要?文档对这应该如何工作有点含糊,特别是在通过清单加载多个文件(如 application.js)方面。