Rails 5: JQuery inside $(document).ready 不会逐页触发,仅在重新加载时触发
Rails 5: JQuery inside $(document).ready does not fire from page to page, only on reload
编辑:我在这里发现了我的答案的问题:
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
只会在我重新加载当前所在的页面时触发。
任何帮助都会很棒。
我想你应该尝试将 $(document).ready()
更改为 $(window).load()
。
随着我开始做更多研究,我发现这是一个 turbolinks 问题。
我能够参考这个答案:
Rails 4: how to use $(document).ready() with turbo-links
不断变化,
$( document ).ready(function() {...
到
$(document).on('turbolinks:load', function() {...
解决了我所有的问题。
编辑:我在这里发现了我的答案的问题:
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
只会在我重新加载当前所在的页面时触发。
任何帮助都会很棒。
我想你应该尝试将 $(document).ready()
更改为 $(window).load()
。
随着我开始做更多研究,我发现这是一个 turbolinks 问题。
我能够参考这个答案:
Rails 4: how to use $(document).ready() with turbo-links
不断变化,
$( document ).ready(function() {...
到
$(document).on('turbolinks:load', function() {...
解决了我所有的问题。