加载脚本后,我立即发出 Ajax 请求来获取一些翻译。这应该总是在文档准备好后返回,因为我在页面底部加载脚本,但我仍然很好奇是否有可能获得 Deferred Object处于文档就绪状态。
这样就可以在执行其他操作之前确保文档已准备好并且 Ajax 调用已成功返回,例如:像这样:
$.when( $.ajax('translations'), document.ready())
.then(function(){
// Start doing stuff here
});
最佳答案
您可以使用 data() 将延迟对象与文档关联起来。 ,和resolve()它在您的 ready
处理程序中。这样,您应该能够使用 $.when() 存储的延迟对象:
$(document).data("readyDeferred", $.Deferred()).ready(function() {
$(document).data("readyDeferred").resolve();
});
$.when($.ajax("translations"), $(document).data("readyDeferred"))
.then(function() {
// Start doing stuff here.
});
关于jquery - 我可以在 document.ready() 上获得 jQuery Deferred 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6177187/