$(window).load(function() {})
和$(document).ready(function() {})
有什么区别?$(window).load(function() {})
和$(document).ready(function() {})
有什么区别?document.ready
是 jQuery 的一个事件,它在 DOM 就绪时触发,例如所有的元素都可以被找到/使用,但不一定是全部的内容。window.onload
会在更晚的时候触发(或在最坏/失败的情况下同时触发),当图片等加载时,因此如果您要使用图像尺寸等信息,通常应该使用这个事件。$(document).ready(function(){})
的简写是 $(function(){})
,与 window.load
的另一个重要区别是它将在所有未来对函数的调用中运行,即使是在初始 DOM 准备就绪之后也是如此。 - Michael Butler$(window).on('load')
的缩写,两者都涉及到load事件。 - Free Lancer$(document).ready
代码。这种情况非常小,可能不值得提及而导致混淆。2)环境只会在DOM准备就绪时调用一次$(document).ready(function(){})
。如果用户由于某种原因在DOM准备就绪后执行更多的$(document).ready
,那么是立即执行。 - Doug S$(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");
});
$(window).load()
在jQuery 3.0中已经不再可用。
$( window ).load(function() {
// Handler for .load() called.
});
使用它作为“事件处理程序附加”即可绕过此问题。$( window ).on("load", function() {
// Handler for .load() called.
});
区别如下:
$(document).ready(function() {
是jQuery事件,当DOM加载时触发,因此在文档结构准备就绪时触发。
$(window).load()
事件在整个内容加载完成后触发。
<html>
<head>
<script src="http://code.jquery.com/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 3.x不支持$(window).load
事件。
document.ready (jQuery) document.ready会在HTML文档加载完成并且DOM准备就绪后立即执行。
DOM:文档对象模型(DOM)是一种跨平台和语言无关的约定,用于表示和与HTML、XHTML和XML文档中的对象进行交互。
$(document).ready(function()
{
// executes when HTML-Document is loaded and DOM is ready
alert("(document).ready was called - document is ready!");
});
window.load (内置JavaScript) window.load会等待页面完全加载,包括内部框架、图像等。 * window.load是一个内置的JavaScript方法,在旧版浏览器(IE6、IE8、旧版FF和Opera版本)中可能存在一些怪异行为,但通常在所有浏览器中都能正常工作。
可以在body的onload事件中使用window.load,如下所示(但我强烈建议您避免在HTML中混合编写代码,因为这会导致以后的混乱):
$(window).load(function()
{
// executes when complete page is fully loaded, including all frames, objects and images
alert("(window).load was called - window is loaded!");
});
$(document).ready() 表示其中的代码需要在DOM加载完成并准备好被脚本操作时执行。它不会等待图像加载以执行jQuery脚本。
<script type = "text/javascript">
//$(window).load was deprecated in 1.8, and removed in jquery 3.0
// $(window).load(function() {
// alert("$(window).load fired");
// });
$(document).ready(function() {
alert("$(document).ready fired");
});
</script>
$(window).load在$(document).ready()之后触发。
$(window).load已于1.8版本被弃用,并在jquery 3.0中被移除。
$(window).load()
。请改用$(window).on('load', function(){});
。 - JP Zhang