jquery - 使用 jQuery .each() 时函数什么时候执行?

标签 jquery

给定以下 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/

相关文章:

php - HTML 特殊字符和 PHP

javascript - 覆盖 Bootstrap 表选定的行背景颜色

javascript - 使用选择选项更改多个跨度值

javascript - Input type FILE multiple - 按顺序添加文件

jquery - 通过 ajax 访问 Wunderlist API http 来列出任务

javascript - 使用 jQuery 隐藏和显示表中的额外列

javascript - 通过 jQuery 改变 HTML 元素的顺序?

jquery - 将 float div 放在彼此之上

javascript - 在 JSON 数组中搜索字符串并检索包含该字符串作为值的对象

jquery - 单击后如何删除 Div