【问题标题】:How does Jquery domready work?Jquery domready 是如何工作的?
【发布时间】:2015-12-03 03:51:58
【问题描述】:

我正在查看用于跟踪 domready 事件的 jQuery 源代码,但有一件事我并不完全理解。如果脚本是动态包含并异步加载的怎么办?这样,当脚本加载时,文档可能已经加载。 jQuery 检查的唯一地方是 document.readyState。

如果我错了,请纠正我,但这个属性不是最近才引入 Firefox 的吗?如果是这样 - DomContentLoaded 事件可能已经被触发(甚至窗口的 onLoad 可能)并且在这种情况下无法实际调用 domready 上的代码。

【问题讨论】:

    标签: javascript domready


    【解决方案1】:

    在当前版本的 jQuery 中,这一切都是通过“延迟”机制来处理的。页面的就绪状态被封装在一个 Deferred 对象中,函数被简单地添加到“done()”队列中。 Deferred API 只记住页面是否准备好,因此在页面准备好后将函数作为“就绪”处理程序传入将立即调用该函数。

    然而,用于跟踪“就绪”何时实际发生的代码非常麻烦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      相关资源
      最近更新 更多