所以我有这段代码:
$(document).ready(function() {
planSelectionForm.init($("form#new_account"));
});
当我链接到此页面时,它按预期工作。但是,当我从浏览器刷新时,它不会被触发。这似乎是一个常见的问题。只是为了记录我使用turbolinks。任何关于为什么会发生这种情况的帮助都会很棒!
答案 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"));
});