$(document).ready() 和 CSS DOM 注入
使用 $(document).ready() 执行脚本时,有可能会担心当时是否所有CSS值都已注入到DOM中。这里有一个深入的分析:
DOM-ready vs. CSS-ready
过去,$(document).ready()试图确保所有CSS 样式表在执行脚本之前加载。然而,从 1.3 版本开始,jQuery 不再做出这样的保证。建议在页面上的脚本之前包含所有 CSS 文件,以避免元素属性未正确定义的偶发问题。
CSS 渲染和 $(document).ready()
jQuery ready() 不会等待 CSS 渲染;因此,即使 CSS 未完全加载,您在启动时仍可能会看到视觉变化。
为什么当 CSS 延迟时 JavaScript 也会延迟
一些意外的行为开发人员观察到,即使在 CSS 文件开始加载之后,JavaScript 的执行也可能会延迟。这似乎不合逻辑,因为 CSS 是异步加载的,并且不应该影响 JavaScript 加载。然而,测试表明,在某些情况下,外部 JavaScript 和 CSS 加载的特定组合可能会导致此类延迟。
解决方案:CSS 先于 JavaScript
为了防止潜在的延迟问题,最佳实践仍然是在所有 JavaScript 代码之上包含 CSS 文件。虽然它可能并不总能防止 JavaScript 延迟,但它可以避免元素属性未正确定义的问题。
其他注意事项
结论
按照建议在 JavaScript 之前包含 CSS,这样可以最大限度地降低使用 $(document).ready() 时与 CSS 注入相关的问题的风险。如果您遇到意外延误,彻底测试并仔细考虑上述因素可以帮助找出根本原因。
以上是$(document).ready() 能否保证 CSS 注入到 DOM 中?的详细内容。更多信息请关注PHP中文网其他相关文章!