我在这里做错了什么?为什么writeQuestions
不能在加载时运行(不是onclick ..)?
$(document).ready(function() {
$.getJSON("JavaScript/questions.json", function(data) {questions = data;});
$("#start").one("click" , writeQuestions);
writeQuestions();
});
(
.one()
行在我的代码中被注释掉了)当我这样做时:
window.onload=writeQuestions;
它工作正常。 最佳答案
返回JSON结果之前,writeQuestions()正在运行。将函数调用放入回调函数中。
$(document).ready(function() {
$.getJSON("JavaScript/questions.json",
function(data) { questions = data; writeQuestions(); }
);
});
另外,我建议更新writeQuestions()函数以接受参数,并以这种方式传递问题。由于存在可变范围问题,我感到惊讶,它曾经奏效。