尝试以“ rails方式”组织JS文件时,我在Rails 4应用程序中遇到了一个问题。它们以前分散在不同的视图中。我将它们组织到单独的文件中,并通过资产管道进行编译。但是,我刚刚了解到,在打开Turbo链接时,jQuery的“就绪”事件不会在随后的点击中触发。首次加载页面时,它可以工作。但是,当您单击链接时,其中的任何内容ready( function($){都不会执行(因为该页面实际上不会再次加载)
ready( function($){
所以我的问题是:在涡轮链接打开时,确保jQuery事件正常工作的正确方法是什么?您是否将脚本包装在特定于Rails的侦听器中?或者,也许rails具有某种使它不必要的魔力?该文档对如何工作有点含糊不清,尤其是在通过清单(如application.js)加载多个文件方面。
我刚刚了解了解决此问题的另一种选择。如果加载[的jquery-turbolinksgem]它将绑定Rails的Turbolinks事件的document.ready事件,这样你就可以用通常的方式写你的jQuery。您只需在js清单文件(默认为:)jquery.turbolinks之后添加即可。jquery``application.js
jquery-turbolinks
document.ready
jquery.turbolinks
jquery``application.js