我可以在document.ready()上得到一个jQuery Deferred吗?

前端之家收集整理的这篇文章主要介绍了我可以在document.ready()上得到一个jQuery Deferred吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的脚本加载之后,我正在制作一个Ajax请求来获得一些翻译。文档准备完毕后,应始终返回,因为我正在页面底部加载脚本,但如果可以在文档就绪状态下获得 Deferred Object,我仍然很好奇。

这样就可以确保这两个文档都已经准备就绪,并且在执行其他任何操作之前Ajax调用成功返回。喜欢这个:

$.when( $.ajax('translations'),document.ready())
.then(function(){
    // Start doing stuff here
});

解决方法

您可以使用 data()将延迟对象与文档相关联,并将 resolve()与您的即时处理程序相关联。这样,您应该能够使用存储的延迟对象与 $.when()
$(document).data("readyDeferred",$.Deferred()).ready(function() {
    $(document).data("readyDeferred").resolve();
});

$.when($.ajax("translations"),$(document).data("readyDeferred"))
 .then(function() {
    // Start doing stuff here.
});
原文链接:https://www.f2er.com/jquery/182745.html

猜你在找的jQuery相关文章