gpt4 book ai didi

javascript - 与 YAHOO.util.Event.onContentReady 功能相同的惯用 Dojo?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:53:10 24 4
gpt4 key购买 nike

我想在 DOM 元素可用时立即开始操作,以尽量减少它在屏幕上以其原始状态出现的时间。我知道在 YUI 中你会使用 YAHOO.util.Event.onContentReady我很确定你会使用 bind在 jQuery 中。我是 Dojo 新手,我不确定:执行此操作的“Dojo 方式”是什么?

更新:我特别不想等待整个页面(这是荒谬的数据量大;单独的标记可能是 MB 或更多)加载。我想立即开始在 DOM 中查找元素并在它出现后立即开始处理,而不用等待标记下载、解析和插入到 DOM 中——这可能需要时间比较长。我想开始查看 DOM 并在这个小片段出现后立即开始工作。考虑到这个限制,dojo.ready 不是很合适吗?我的理解是等待整个DOM准备好,类似onDOMReady .

最佳答案

在将一段 DOM 添加到树后,注入(inject)功能的最精确方法是将需要它的 <script> 直接放在标记中的下方。它似乎没有像 onContentReady 这样的东西那么性感,但 onContentReady 只是一种轮询机制,它可能会在与 domready 大约相同的时间结束执行回调,无论如何,在相关的 DOM 子树准备好编写脚本之后很久。

浏览器可以非常快速地组装 DOM 树。使用诸如 onContentReady 之类的轮询解决方案,您必须每隔几毫秒执行一次搜索目标元素的代码,从而减慢页面组装/呈现速度。

我会坚持将你的 <script> 放在 的底部,或者如果你必须,将 must-run-now-damnit 代码放在所需标记之后的 <script> 中。

我不熟悉 dojo 的 API,所以如果以上内容没有帮助,我无法回答你关于 dojo 的具体问题。

(编辑以转义标记中的前导 < 以便它们显示)

关于javascript - 与 YAHOO.util.Event.onContentReady 功能相同的惯用 Dojo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com