首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当DOM“就绪”时运行JavaScript函数?

当DOM“就绪”时运行JavaScript函数?
EN

Stack Overflow用户
提问于 2011-11-03 17:06:00
回答 7查看 49.5K关注 0票数 31

我使用的是一个JavaScript上传脚本,它告诉我们一旦DOM准备就绪,就立即运行初始化函数。目前,我使用body.onload或直接在函数定义之后调用函数,都能很好地工作。该函数在占位符div中构建一些HTML,作为文件上传器工具。

我的问题是,这里的最佳实践是什么?既然它现在可以工作,为什么指令会说只要DOM准备好了就运行init函数呢?例如,我应该在占位符DIV后面直接添加一个标记吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-11-03 17:13:05

最简单的解决方案是使用jQuery及其$(document).ready(function() { .... });函数。您可以将自己的代码放在....中,而不是放在其中。

请注意,它基本上做了@Shadow2531建议的相同的事情,但也可以在不支持该事件的旧浏览器中工作。

票数 7
EN

Stack Overflow用户

发布于 2011-11-03 17:10:53

代码语言:javascript
复制
<script>
    window.addEventListener("DOMContentLoaded", function() {
        // do stuff
    }, false);
</script>

这样做是为了知道所有已解析的元素在DOM中都可用,等等。

票数 60
EN

Stack Overflow用户

发布于 2011-11-03 17:11:37

DOM通常在onLoad运行之前就准备好了。onLoad仅在加载所有内容后运行--外部脚本、图像、样式表等。

但是DOM,即HTML结构在此之前就已经准备好了。如果您在页面底部(或在脚本使用的页面部分之后)运行代码,也可以很好地工作。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7992342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档