我想要做的是我有一个如下代码:
$(document).ready(
function(){
var currentPage = window.location.pathname;
$('#main-menu-list').find('a[href^="' + currentPage + '"]').closest('li').addClass('active');
}
)
现在我想添加此代码以添加并使用其他代码。我需要在此之后添加此代码:
function () {
/* If there are forms, make all the submit buttons in the page appear
disabled and prevent them to be submitted again to avoid accidental
double clicking. See Issue 980. */
jQuery(function() {
/* Delegate the function to document so it's likely to be the last event
in the queue because of event bubbling. */
jQuery(document).delegate("form", "submit", function (e) {
var form = jQuery(this);
if (form.hasClass("form_disabled")) {
e.preventDefault();
return false;
}
else {
form
.addClass("form_disabled")
.find(":submit")
.addClass("disabled");
}
// Reactivate the forms and their buttons after 3 secs as a fallback.
setTimeout(function () {
form
.removeClass("form_disabled")
.find(":submit")
.removeClass("disabled");
}, 3000);
});
});
}
我怎样才能完成这项工作。请帮我解决这个问题。
答案 0 :(得分:0)
您可以在脚本中的任何位置创建document.ready()
。您的所有代码都不必处于就绪状态。
您可以为函数创建实例变量并在需要的地方调用它:
$(document).ready(
var myFunc = function(){
var currentPage = window.location.pathname;
//other code
}
...
//and invoke it where you need
myFunc();
)
答案 1 :(得分:0)
首先,在代码部分中命名long函数,例如 launchFormControls()。然后在文档就绪事件之外定义函数。一个好的做法是这样做并保持准备好的活动体清洁。
例如:
function launchFormControls() {
//function code
}
或者,在其他语法中:
var launchFormControls = function() {
//function code
}
其次,从文档就绪事件中调用您的函数。您的功能将被定义,并且能够在加载文档后调用。此代码可以放在javascript部分或文件的顶部或底部。
例如:
$(document).ready(function(){
var currentPage = window.location.pathname;
$('#main-menu-list').find('a[href^="' + currentPage+'"]').closest('li').addClass('active');
launchFormControls();
});