一尘不染

JavaScript Rails 4:如何在Turbo-Links中使用$ {document).ready()

javascript

尝试以“ rails方式”组织JS文件时,我在Rails
4应用程序中遇到了一个问题。它们以前分散在不同的视图中。我将它们组织到单独的文件中,并通过资产管道进行编译。但是,我刚刚了解到,在打开Turbo链接时,jQuery的“就绪”事件不会在随后的点击中触发。首次加载页面时,它可以工作。但是,当您单击链接时,其中的任何内容ready( function($){都不会执行(因为该页面实际上不会再次加载)

所以我的问题是:在涡轮链接打开时,确保jQuery事件正常工作的正确方法是什么?您是否将脚本包装在特定于Rails的侦听器中?或者,也许rails具有某种使它不必要的魔力?该文档对如何工作有点含糊不清,尤其是在通过清单(如application.js)加载多个文件方面。


阅读 258

收藏
2020-04-23

共1个答案

一尘不染

我刚刚了解了解决此问题的另一种选择。如果加载[的jquery-turbolinksgem]它将绑定Rails的Turbolinks事件的document.ready事件,这样你就可以用通常的方式写你的jQuery。您只需在js清单文件(默认为:)jquery.turbolinks之后添加即可。jquery``application.js

2020-04-23