Javascript无法处理页面刷新

时间:2017-06-17 21:16:24

标签: javascript jquery ruby-on-rails

所以我有这段代码:

$(document).ready(function() {
  planSelectionForm.init($("form#new_account"));
});

当我链接到此页面时,它按预期工作。但是,当我从浏览器刷新时,它不会被触发。这似乎是一个常见的问题。只是为了记录我使用turbolinks。任何关于为什么会发生这种情况的帮助都会很棒!

2 个答案:

答案 0 :(得分:2)

将.onready()函数包装到名为initialize的函数中。关键是要分离事件驱动的函数调用,以便事件驱动的函数调用调用全局函数。

在那里,添加到您的身体或其他支持onload的元素。

$(document).ready(function() {
  initialize();
});
function initialize()
{
}

<body onload="initialize(); return;"> </body>

另外,对于Caleb,根据我的经验,我认为jQuery就绪事件只能在新负载或ctrl + f5缓存重新加载时执行。

答案 1 :(得分:2)

解决此问题后我能找到的唯一解决方案是将脚本包装在:

document.addEventListener("turbolinks:load", function() {
  planSelectionForm.init($("form#new_account"));
});