窗口之间究竟有什么区别。Onload事件和body标签的Onload事件?我什么时候使用哪个,应该如何正确地做?


当前回答

窗口。onload -在所有DOM, JS文件,图像,Iframes,扩展和其他完全加载后调用。这等于$(window).load(function() {});

<body onload=""> - DOM加载后调用。这等于$(document).ready(function() {});

其他回答

没有区别…

所以基本上你可以两者都用(一次一个!-)

但是为了可读性和html代码的整洁,我总是更喜欢窗口。onload !啊)

窗口。onload -在所有DOM, JS文件,图像,Iframes,扩展和其他完全加载后调用。这等于$(window).load(function() {});

<body onload=""> - DOM加载后调用。这等于$(document).ready(function() {});

将内容、布局和行为分开是一个公认的标准。因此window.onload()将比<body onload="">更适合使用,尽管两者都做同样的工作。

两者没有区别,但两者都不能用。

在许多浏览器中,窗口。Onload事件不会触发,直到所有图像都已加载,这不是你想要的。基于标准的浏览器有一个名为DOMContentLoaded的事件,该事件较早触发,但IE不支持(在撰写本文时)。我建议使用支持跨浏览器DOMContentLoaded特性的javascript库,或者找到一个编写良好的函数。jQuery的$(document).ready()就是一个很好的例子。

它们的工作原理相同。但是,请注意,如果定义了两者,则只调用其中一个。我通常避免直接使用它们中的任何一个。相反,您可以将事件处理程序附加到加载事件。通过这种方式,你可以更容易地合并其他可能也需要附加回调到onload事件的JS包。

任何JS框架都有用于事件处理程序的跨浏览器方法。