4 回答
TA贡献1884条经验 获得超4个赞
在ready
HTML文档加载后发生的事件,而该onload
事件时,所有内容(例如图像)也已经被加载后发生。
该onload
事件是DOM中的标准事件,而ready
事件特定于jQuery。ready
事件的目的是它应该在文档加载后尽早发生,以便为页面中的元素添加功能的代码不必等待加载所有内容。
TA贡献1776条经验 获得超12个赞
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
(甚至在旧浏览器中实现),在整个页面加载时触发(图像,样式等)
TA贡献1936条经验 获得超6个赞
$(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
函数。
添加回答
举报