我使用的是一个JavaScript上传脚本,它告诉我们一旦DOM准备就绪,就立即运行初始化函数。目前,我使用body.onload
或直接在函数定义之后调用函数,都能很好地工作。该函数在占位符div中构建一些HTML,作为文件上传器工具。
我的问题是,这里的最佳实践是什么?既然它现在可以工作,为什么指令会说只要DOM准备好了就运行init函数呢?例如,我应该在占位符DIV后面直接添加一个标记吗?
发布于 2011-11-03 17:13:05
最简单的解决方案是使用jQuery及其$(document).ready(function() { .... });
函数。您可以将自己的代码放在....
中,而不是放在其中。
请注意,它基本上做了@Shadow2531建议的相同的事情,但也可以在不支持该事件的旧浏览器中工作。
发布于 2011-11-03 17:10:53
<script>
window.addEventListener("DOMContentLoaded", function() {
// do stuff
}, false);
</script>
这样做是为了知道所有已解析的元素在DOM中都可用,等等。
发布于 2011-11-03 17:11:37
DOM通常在onLoad运行之前就准备好了。onLoad仅在加载所有内容后运行--外部脚本、图像、样式表等。
但是DOM,即HTML结构在此之前就已经准备好了。如果您在页面底部(或在脚本使用的页面部分之后)运行代码,也可以很好地工作。
https://stackoverflow.com/questions/7992342
复制相似问题