一尘不染

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

javascript

Turbolink可以防止正常$(document).ready()事件在除初始加载之外的所有页面访问中触发链接答案中的解决方案均不能与Rails
5一起使用。像以前的版本一样,如何在每次访问页面时运行代码?


阅读 289

收藏
2020-05-01

共1个答案

一尘不染

ready无需监听事件,而是需要每次访问页面时都挂接到Turbolinks触发的事件。

不幸的是,Turbolinks 5(Rails5中出现的版本)已被重写,并且没有使用与以前版本的Turbolinks相同的事件名称,从而导致回答失败。现在有效的方法是像这样监听turbolinks:load事件:

$( document ).on('turbolinks:load', function() {
  console.log("It works on each visit!")
})
2020-05-01