javascript - 为什么要在 $(function () { ... }) 里面声明?

标签 javascript jquery

我正在查看的应用程序加载了一个外部 javascript 文件,如下所示:

$(function () {

    // Don't allow browser caching of forms
    $.ajaxSetup({ cache: false });

    var dialogs = {};

    var getValidationSummaryErrors = function ($form) {
        // We verify if we created it beforehand
        ...
        ...
        }
        return errorSummary;
    };

我知道该文件设置了一些变量并声明了一个名为 getValidationSummaryErrors 的函数。

我不明白的是为什么这一切都在

$(function () {  ... }

这样做的目的是什么?我不能只在没有 "$(function () { }"的情况下在平面文件中声明变量和东西吗?

最佳答案

$(function() { ... }); 只是 $(document).ready(function() { ... }); 的缩写,这确保了在 DOM 准备好之前不会执行代码,否则某些影响 DOM 的代码可能无法正常工作。

参见 http://api.jquery.com/ready/

关于javascript - 为什么要在 $(function () { ... }) 里面声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10265553/

相关文章:

javascript - 无法使用 jquery 从表单值发送 json 数据

c# - 使用文件上传 AJAX 发送帖子数据

JQuery nth Child div 子级

javascript - 想要隐藏主体点击上的子菜单

javascript - 使用 javascript/jquery 将 <form> 附加到之前的 <form> 或多个 <form> 标签之上

javascript - Jquery : Hide all children, 及其子代等等...标签

javascript - 一次删除多个 Div 元素 -- JavaScript

javascript - 具有嵌套模型和自定义模板的主干表单

javascript - 将 html 元素传递给 JavaScript 中的函数

php - 将 JSON 从 php 传递到 javascript