我在这里做错了什么?为什么 writeQuestions
不在加载时运行(不是 onclick..)?
$(document).ready(function() {
$.getJSON("JavaScript/questions.json", function(data) {questions = data;});
$("#start").one("click" , writeQuestions);
writeQuestions();
});
(.one()
行在我的代码中被注释掉了)
当我这样做时:window.onload=writeQuestions;
它工作正常..
最佳答案
writeQuestions() 在返回 JSON 结果之前运行。将函数调用放在回调函数中。
$(document).ready(function() {
$.getJSON("JavaScript/questions.json",
function(data) { questions = data; writeQuestions(); }
);
});
此外,我建议更新 writeQuestions() 函数以接受参数,并以这种方式传递问题。我很惊讶它居然能起作用,因为存在变量范围问题。
关于jQuery 在 $(document).ready(function() { 中运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6059551/