使用jQuery.each()时函数何时执行?
给定以下jQuery表达式使用jQuery.each()时函数何时执行?,jquery,Jquery,给定以下jQuery表达式 $("form").each(function () { var info = validationInfo(this); if (info) { info.attachValidation(); } }); 选择器选择页面上的所有表单,然后为找到的每个“表单”附加一个函数 我的问题是,这个函数中的JS实际上什么时候运行?函数中的JS在连接时是否执行?在运行时是attachVal
$("form").each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
选择器选择页面上的所有表单,然后为找到的每个“表单”附加一个函数
我的问题是,这个函数中的JS实际上什么时候运行?函数中的JS在连接时是否执行?在运行时是
attachValidation()?它在循环中被调用后立即执行。何时运行attachValidation()
?它在循环中被调用后立即执行。这一切都取决于代码所在的位置
如果将该代码块包括在$(function(){…}
块中,则会运行该代码块,该代码块:
尽管基于您的用例,您可能希望在发生用户事件(如单击按钮)时验证所有表单。在这种情况下,您必须在用户单击按钮时执行的函数中包含代码:
//Bind function to button
$("#mybutton").live('click', doValidation);
//Do validation
function doValidation() {
$("form").each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
}
这完全取决于代码所在的位置
如果将该代码块包括在$(function(){…}
块中,则会运行该代码块,该代码块:
尽管基于您的用例,您可能希望在发生用户事件(如单击按钮)时验证所有表单。在这种情况下,您必须在用户单击按钮时执行的函数中包含代码:
//Bind function to button
$("#mybutton").live('click', doValidation);
//Do validation
function doValidation() {
$("form").each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
}
我想在我们回答这个问题之前,你需要告诉我们什么是validationInfo()
和attachValidation()
。函数中的JS在调用时运行。我感谢迄今为止所有的答案。似乎我提交了一个不好的示例。我想用一个更好的更新它(我认为无论如何都是这样),但它会使已经给出的帖子无效。我应该启动另一个线程吗?还是应该编辑原始问题中的代码?不确定协议只是为了澄清:。each()
方法不会将函数“附加”到每个表单。它只是执行函数。绑定事件时,术语“附加一个函数”是正确的,这里不是这样。.each()
只是在一个集合中迭代-没有更多,也没有更少。我想你需要告诉我们什么是validationInfo()
和attachValidation()
我们还没来得及回答这个问题。函数中的JS会在调用时运行。我很感激迄今为止的所有答案。似乎我提交了一个不好的示例。我想用一个更好的示例来更新它(我认为无论如何都是这样),但它会使已经给出的帖子无效。我应该启动另一个线程吗?还是应该编辑原始问题中的代码?不确定协议只是为了澄清:。each()
方法不会将函数“附加”到每个表单。它只是执行函数。绑定事件时,术语”附加一个函数“是正确的,这里不是这样的。.each()
只是在一个集合中迭代-没有更多,没有更少。我还想说什么?这是一个相当简单的问题,应该得到一个相当简单的答案。我还想说什么?这是一个相当简单的问题,应该得到一个相当简单的答案。”这段代码本身永远不会运行。”……当然会,如果它位于任何
元素之后……您的第一行是一个错误的语句。这很公平。关键是这一切都取决于代码的位置。……更新了帖子。……这段代码本身永远不会运行。“…当然会的,如果它位于任何
元素之后…你的第一行是一个不正确的语句。这很公平。关键是这一切都取决于代码的位置..更新了帖子..”。。