有人可以指出我挂钩 DOM 加载事件的方向吗?
基本上,我想在 dom 加载时显示一个加载器(我不是指 Ajax 请求 - 用户第一次点击页面)?
提前谢谢大家
如果您不使用框架,请使用 DOMContentLoaded 事件:
document.addEventListener('DOMContentLoaded', function() {
// ...
})
所有流行的 Javascript 库都有一个“DOM 加载”事件,您可以使用它。
本质上:
<html>
<head>
<script>
// if using jQuery
$(document).ready(function() { $('#loading').hide(); });
// if using Prototype
document.observe("dom:loaded", function() { $('loading').hide(); });
</script>
</head>
<body>
<div id="loading">Loading...</div>
<!-- rest of page -->
</body>
</html>
只是为了提供 jQuery 的替代方案,YUI Event也为此目的提供了一个onDomReady()函数。这是他们网站上的示例:
<script type="text/javascript">
function init() {
YAHOO.util.Dom.setStyle("hidden_element", "visibility", "");
}
YAHOO.util.Event.onDOMReady(init);
</script>
在没有库的情况下执行此操作的正确方法(实际上,即使使用库,因为您正在处理脚本阻塞和 IE 不可预测性)是将脚本放在页面的最后:
onLoaded = 函数(){ ... }onLoaded()