mae*_*ics 4 javascript jquery events dom
如果您的代码只操作已经完全解析的DOM元素,是否真的有必要等待"ready"(或"window.onload")事件?
"ready()"函数的jQuery文档演示了如何在DOM完全就绪之前等待执行操作,但示例是在相关DOM元素之前列出的代码(脚本标记).但似乎在HTML文档中必要的DOM元素之后出现的代码可以访问它们,因为可能是DOM是在浏览器解析文档时构建的.
例如,可以安全地假设以下代码在所有情况下都是可靠的,或者仍然需要(或以某种方式有益)使用ready/onload处理程序?
<body>
<div id="foo"/>
<script type="text/javascript">
var foo = document.getElementById('foo');
foo.innerHTML = 'The element #foo is loaded!';
</script>
</body>
Run Code Online (Sandbox Code Playgroud)
这个SO问题非常相似,但我想查看是否有更多信息.
如果您的JavaScript代码低于DOM元素并且仅以独占方式修改它们,则无需等待DOM ready事件.
但是,请记住编辑一个DOM元素,该script元素包含一个元素(或更具体地,在元素的结束标记之前),用于在IE6(感谢TJ Crowder)和IE7中引起大问题.
但是,这需要内联scripts,这可能是一个维护问题.最好将您的JavaScript存储在外部(并且很多人都会谈到在结束body标记之前包含它们的好处),以获得诸如易于维护和细粒度缓存控制等诸多好处.
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |