$(window).load()和$(document).ready()函数之间的区别
在jQuery中$(window).load(function() {})
和$(document).ready(function() {})
什么区别?
-
document.ready
是一个jQuery事件,它在DOM准备就绪时运行,例如所有的元素都被find/使用,但不一定是所有的内容 。 -
window.onload
稍后会触发(或者在最坏/最差的情况下),所以如果您使用的是图片尺寸,那么您通常会想要使用它。
$(document).ready(function() { // executes when HTML-Document is loaded and DOM is ready alert("document is ready"); }); $(window).load(function() { // executes when complete page is fully loaded, including all frames, objects and images alert("window is loaded"); });
区别是:
$(document).ready(function() {
是加载DOM时触发的jQuery事件,所以当文档结构准备就绪时会触发它。
$(window).load()
事件在整个内容被加载后被触发。
<html> <head> <script src="jquery-1.9.1.min.js"></script> <script> $( document ).ready(function() { alert( "document loaded" ); }); $( window ).load(function() { alert( "window loaded" ); }); </script> </head> <body> <iframe src="http://stackoverflow.com"></iframe> </body> </html>
window.load将在所有的iframe内容被加载后被触发
$(document).ready
所有的元素都出现在DOM中,但不一定是所有的内容。
$(document).ready(function() { alert("document is ready"); });
window.onload
或$(window).load()
发生在所有的内容资源(图片等)被加载之后。
$(window).load(function() { alert("window is loaded"); });
从jQuery的未来 – 这只是添加load
/ onload
事件窗口和文件。 看一下这个:
window.onload vs document.onload
根据DOM级别2事件,加载事件应该在文档上触发,而不是在窗口上触发。 但是,为了向后兼容,在所有浏览器的窗口上都实现了加载。
值得注意的是,这个函数在1.8中被弃用,并在jquery 3.0中被删除
更多信息: 对象不支持属性或方法'indexOf'
我认为$(window).load事件不支持3.x jquery ..