给定以下 jQuery 表达式
$("form").each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
选择器选择页面上的所有表单,然后为找到的每个“表单”附加一个函数。
我的问题是这个函数中的JS什么时候真正运行?函数中的JS在附加时是否执行?
最佳答案
这完全取决于代码所在的位置。
如果您将该代码块包含在 runs when the document is parsed 的 $(function(){...}
block 中,它将运行:
$(function(){
$("form").each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
})
尽管根据您的用例,您可能希望在发生用户事件(例如单击按钮)时验证所有表单。在这种情况下,您必须将代码包含在用户单击按钮时执行的函数中:
//Bind function to button
$("#mybutton").live('click', doValidation);
//Do validation
function doValidation() {
$("form").each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
}
关于jquery - 使用 jQuery .each() 时函数什么时候执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4513325/