[英]Javascript is running before page load.
我正在尝试使用javascript查找表单,以了解是否运行脚本。 这是我的代码:
var planSelectionForm = {
pages: ["#selection", "#payment"],
init: function(form) {
// Don't initialize if the page does not have a new payment form
if (form.length === 0) {
return;
}
var _ = this;
$(window).on("hashchange", function() {
if (_.pages.indexOf(window.location.hash) >= 0) {
_.show(window.location.hash);
}
});
window.location.hash = _.pages[0];
},
show: function(section) {
section = section.replace("#", "");
if (section === "") {
section = "selection";
}
},
};
// Make the script work on the plan form
planSelectionForm.init($("form#new_account"));
我正在尝试从初始化程序中的页面加载表单。 但是它总是告诉我表单不在页面上。 这是正确的,因为javascript在页面加载之前正在运行。 我认为这与turbolinks有关,但是我不确定吗? 如果有人有很棒的主意:这是我的application.js
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require tooltip.min
//= require pickadate/picker
//= require pickadate/picker.date
//= require pickadate/picker.time
//= require simplemde
//= require_tree .
您需要换行:
planSelectionForm.init($("form#new_account"));
在turbolinks:load事件中:
$(document).on('turbolinks:load', function() {
lanSelectionForm.init($("form#new_account"));
});
如果要包括使用简单script
标记发布的代码,则必须确保仅在页面完全加载后才运行。 使用jQuery,您可以通过调用sth来实现。 像$(window).on("load", function() {...YOURCODEHERE...})
。 在此处查看有关此内容的更多信息: https : //learn.jquery.com/using-jquery-core/document-ready/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.