8

有人可以指出我挂钩 DOM 加载事件的方向吗?

基本上,我想在 dom 加载时显示一个加载器(我不是指 Ajax 请求 - 用户第一次点击页面)?

提前谢谢大家

4

4 回答 4

30

如果您不使用框架,请使用 DOMContentLoaded 事件:

document.addEventListener('DOMContentLoaded', function() {
  // ...
})
于 2012-05-09T15:47:03.450 回答
10

所有流行的 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>
于 2009-02-24T16:27:56.763 回答
0

只是为了提供 jQuery 的替代方案,YUI Event也为此目的提供了一个onDomReady()函数。这是他们网站上的示例:

 <script type="text/javascript">

 function init() {
    YAHOO.util.Dom.setStyle("hidden_element", "visibility", "");
 }
 YAHOO.util.Event.onDOMReady(init);

 </script>
于 2009-02-24T16:53:28.917 回答
0

在没有库的情况下执行此操作的正确方法(实际上,即使使用库,因为您正在处理脚本阻塞和 IE 不可预测性)是将脚本放在页面的最后:

onLoaded = 函数(){ ... }

onLoaded()

于 2010-06-18T12:44:42.640 回答