[英]Javascript doesn't Run Without Refresh After Submitting Form Using Turbolinks
[英]Javascript doesn't run without page refresh using turbolinks in Rails 5
我在这里看到了关于此问题的几篇文章以及博客文章。 到目前为止,它们都没有对我有所帮助,例如: 相同的rails和turbolink版本
这是一个不刷新页面就不会加载的js示例:
document.addEventListener('turbolinks:load', function() {
document.getElementById(id[0]).oninput=function () {
validate(id[0]);
}
});
没有Turbolinks的情况下,JavaScript可以正常运行,而删除Turbolinks对我来说不是一个解决方案。
注意:如果我需要来自application.html.erb
的特定JS文件,它确实可以工作,但随后它将在网站的所有页面上运行每个文件,并且JS必须是特定于页面的。
您应该将其用于Turbolink。
$(document).on('page:load', ready);
但这是很糟糕的,因为在某些页面上您想要使用涡轮链接,而在其他页面上则不需要。 很快,您将仅通过文档就绪(因为无法等待页面加载)以及其他通过page:load初始化脚本。 因此最好防止这种“意外行为”:
= link_to "Page", some_path(@page), data: { turbolinks: 'false' }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.