非jquery文件就绪 - 是window.onload最好的/唯一的方式?

时间:2011-10-05 20:26:41

标签: javascript pageload document-ready

我希望在document 准备时运行一个函数,但没有合理的理由利用jquery,因为页面上的少量工作不能保证我加载那个大小的文件。

通常我会使用window.onload = function(){}; - 据我所知,这是推荐的方法。

思想/建议?如果有更好的方法,我非常希望听到一些开发者的意见。


注意 -
如果在其他地方更好地问这个问题(因为它有点主观) - 请告诉我,我会关闭它并在那里问。

4 个答案:

答案 0 :(得分:2)

window.onload的问题在于它会等待加载所有内容(如图像)。通常,您只需要准备好操作DOM。你应该知道,虽然jQuery消除了很多跨浏览器的不一致性,因此自己做这将是一个小麻烦的屁股。出于这个原因,您可能希望查看包含跨浏览器DOM准备情况的this library

答案 1 :(得分:2)

如果您希望为非JQuery“domready”事件提供通用支持的方法,则可以选择创建一个应在DOM准备就绪时执行的函数,并在其中添加<script>标记。文件结尾:

...
<script>
function runOnceReady(){
...
}
</script>
</head><body>
....
<script>runOnceDomReady()</script>
</body></html>

答案 2 :(得分:0)

编写jQuery.ready事件的等价物。 jQuery只是javascript,所以没有理由你不能做类似的事件。只是为了减少您在使代码浏览器兼容方面的工作。

答案 3 :(得分:0)

您可以在页面上的onload标记中添加body

做类似的事情:

<body onload="myCrazyFunction()">