jquery $document.准备好等待json文件被加载?



我从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加载之前就启动了。

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

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

最新更新