jquery $document.ready 是否等待加载 json 个文件?

Does jquery $document.ready wait for json files to be loaded?

我从 json 文件中获取 HTML 配置数据。加载后,我需要确保文档已准备就绪,然后再将 HTML 插入现有元素。

    var cfg;
    function getJSONconfigdata() {
        $.getJSON("/quizdata.json", function (json) {
            cfg = json;          
            //Now do everything else
            init();
        });
    }
    getJSONconfigdata()

    function init(){
        //Plug cfg values into existing dom elements. but they may not exist yet.
        //...
    }

init() 在 json 文件被解析后被调用,但是 我如何确保 dom 也准备好了? 我有试过 $(function (){ init(); });但无法让它工作 - 它似乎在 json 加载之前就开始了。

是的,$(document).ready() 在 DOM 为 JS 准备时运行。当许多人使用 jQuery 时,他们会将所有与页面元素交互的代码放在 $(document).ready() 语句中以确保这一点。所以

$( document ).ready(function() {
    var cfg;
    function getJSONconfigdata() {
        $.getJSON("/quizdata.json", function (json) {
            cfg = json;          
            //Now do everything else
            init();
        });
    }
    getJSONconfigdata()
});