Rails 5:$(文档).ready中的JQuery不会在页面之间触发,仅在重新加载时触发

时间:2016-11-10 21:17:55

标签: javascript jquery ruby-on-rails ruby-on-rails-5

编辑:我在这里找到了问题:

Rails 4: how to use $(document).ready() with turbo-links

正如标题所说,我在Rails 5应用程序内的application.js文件底部有一些JQuery。我注意到如果我从一个页面到另一个页面旅行,它将无法触发。但是,如果我只是重新加载我正在使用的页面,它将起作用。

要完全清楚,这是我的application.js文件:

#app/assets/javascripts/application.js
... Rest of file.
//= require_tree .

$( document ).ready(function() {
  alert('test');
});

如果我只是在我的应用中点击页面到页面,我将不会收到任何警报。同样,alert只会在我重新加载我当前正在访问的页面时触发。

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

我猜您应该尝试将$(document).ready()更改为$(window).load()

答案 1 :(得分:0)

当我开始做更多研究时,我发现这是一个涡轮问题。

我能够引用这个答案:

Rails 4: how to use $(document).ready() with turbo-links

改变,

$( document ).ready(function() {...

$(document).on('turbolinks:load', function() {...

解决了我的所有问题。