Jquery domready是如何工作的?

3
我正在查看 jQuery 源代码以跟踪 domready 事件,有一件事情我不完全理解。如果脚本是动态包含并异步加载的,那么当脚本加载时文档可能已经被加载了。jQuery 仅在 document.readyState 上检查此情况。
请纠正我是否错误,但这个属性最近才被引入到 Firefox 中,是吗?如果是这样的话 - DomContentLoaded 事件可能已经被触发(甚至 window 的 onLoad 事件也可能),在这种情况下实际上没有办法在 domready 上调用代码。
1个回答

3
在当前版本的jQuery中,所有处理都使用"Deferred"机制完成。页面的准备情况封装在一个Deferred对象中,函数只需添加到“done()”队列中即可。Deferred API仅仅记住页面是否已经准备好,因此在页面准备好之后将函数作为“ready”处理程序传递进来将立即调用该函数。
然而,跟踪“ready”实际发生的代码相当复杂。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接