window.onload vs $(document).ready()

window.onload vs $(document).ready()

JavaScript window.onload和jQuery的$(document).ready()方法有什么区别?



慕妹3242003
浏览 511回答 4
4回答

慕村9548890

在readyHTML文档加载后发生的事件,而该onload事件时,所有内容(例如图像)也已经被加载后发生。该onload事件是DOM中的标准事件,而ready事件特定于jQuery。ready事件的目的是它应该在文档加载后尽早发生,以便为页面中的元素添加功能的代码不必等待加载所有内容。

叮当猫咪

window.onload是内置的JavaScript事件,但由于它的实现在浏览器(Firefox,Internet Explorer 6,Internet Explorer 8和Opera)中有微妙的怪癖,jQuery提供了抽象的东西,并在页面的DOM准备好后立即触发(不等待图像等)。document.ready$(document).ready(请注意,它不是 document.ready,未定义)是一个jQuery函数,包装并提供以下事件的一致性:document.ondomcontentready/ document.ondomcontentloaded- 加载文档的DOM时可能会触发的新事件(可能是在加载图像等之前的某个时间); 再次,在Internet Explorer和世界其他地方略有不同和window.onload(甚至在旧浏览器中实现),在整个页面加载时触发(图像,样式等)

LEATH

$(document).ready()是一个jQuery事件。$(document).ready()一旦DOM准备好就会调用JQuery的方法(这意味着浏览器已经解析了HTML并构建了DOM树)。这使您可以在文档准备好被操作后立即运行代码。例如,如果浏览器支持DOMContentLoaded事件(就像许多非IE浏览器那样),那么它将触发该事件。(请注意,DOMContentLoaded事件仅在IE9 +中添加到IE中。)可以使用两种语法:$( document ).ready(function() {    console.log( "ready!" );});或速记版本:$(function() {    console.log( "ready!" );});要点$(document).ready():它不会等待加载图像。用于在DOM完全加载时执行JavaScript。把事件处理程序放在这里。可以多次使用。更换$用jQuery,当你收到“$没有定义”。如果您想操纵图像,则不使用。请$(window).load()改用。window.onload()是一个本机JavaScript函数。该window.onload()事件触发时,所有的页面上的内容已加载,包括DOM(文档对象模型),横幅广告和图像。两者之间的另一个区别是,虽然我们可以有多个$(document).ready()函数,但我们只能有一个onload函数。
打开App,查看更多内容
随时随地看视频慕课网APP