我要求状态只使用普通的JavaScript而不是jQuery。我需要在加载DOM时立即初始化一些变量(使用某些函数),而不是在页面完全加载时。简而言之,它不应该等待整个页面加载。在jQuery中,可以使用document.ready()函数轻松完成。
是否可以使用任何函数在JavaScript中实现它?
答案 0 :(得分:2)
“实用”的方法就是在文档结束之前放置一个script
块(甚至不等同于domready)
...
<script>...</script>
</body>
</html>
或使用DomReady事件的各种pure-js实现之一,如http://snipplr.com/view/6029/domreadyjs/
答案 1 :(得分:0)
有时会像这样实现
<body>
<!--
All your html tags here
....
....
-->
<script type="text/javascript">
//this should execute after the above tags and elements have rendered
</script>
</body>
答案 2 :(得分: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
答案 3 :(得分: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
});
但是简单地使用放置好的“脚本”标签确实更好,因为您的代码可能会更快地启动并启动