0

我有一个要求,即只使用纯 JavaScript 而不是 jQuery。我需要在加载 DOM 后立即初始化一些变量(使用某些函数),而不是在页面完全加载时。简而言之,它不应该等待整个页面加载。在 jQuery 中,它可以很容易地使用document.ready()函数来完成。

是否可以使用任何函数在 JavaScript 中实现它?

4

4 回答 4

2

一种“实用”的方法就是script在文档末尾放置一个块(甚至不等同于 domready)

  ...
  <script>...</script>
  </body>
</html>

或使用 DomReady 事件的各种纯 js 实现之一,例如http://snipplr.com/view/6029/domreadyjs/

于 2012-07-31T11:36:20.123 回答
0

有时是这样实现的

<body>
<!--
All your html tags here
....
....
-->



    <script type="text/javascript">
      //this should execute after the above tags and elements have rendered
    </script>
</body>
于 2012-07-31T11:39:02.700 回答
0

如果支持,您可以使用DOMContentLoaded事件:

MSDN:http: //msdn.microsoft.com/en-us/library/windows/apps/hh868490.aspx

MDN:https ://developer.mozilla.org/en/DOM/DOM_event_reference/DOMContentLoaded

于 2012-07-31T11:46:06.460 回答
0

如果您真的想等待“就绪事件”,例如可以使用这种东西:

    (function(w,evt,fn){
        if (w.addEventListener){// W3C DOM
            w.addEventListener(evt,fn,false);
        }
        else if (w.attachEvent) { // IE DOM
            w.attachEvent("on"+evt, fn);
        }

    })(window,'load',function(){
       // your code here
    });

但最好简单地使用放置良好的“脚本”标签,因为您的代码可能会工作并更快开始

于 2012-07-31T12:05:42.940 回答