onload()和$ .ready之间的区别?

你可以列出使用jQuery中的onload()$(document).ready(function(){..})函数之间的区别吗?

一旦页面的所有内容被加载,窗口和/或body元素上的load事件(aka“onload”)就会触发 – 这包括所有的图像,脚本等等。

相比之下,jquery的$(document).ready(...)函数将使用浏览器特定的机制来确保在加载和访问HTML / XML dom后尽快调用处理程序。 这是页面加载过程中最早的一点,您可以安全地运行脚本,以便访问页面的html dom中的元素。 由于加载辅助资源(如图像等)所需的额外时间,此点比最终load事件更早到达(通常要早得多)。

两者的主要区别是:

  1. Body.Onload()事件只有在DOM和相关资源(如图像)被加载后才会被调用,但是jQuery的document.ready()事件将在DOM被加载后被调用,也就是说,它不会等待图像等资源被加载。 因此,一旦加载了HTML结构而不等待资源,jQuery的ready事件中的函数就会被执行。
  2. 我们可以在页面中有多个document.ready(),但Body.Onload()事件不能。
  1. 我们可以在一个页面中拥有多个document.ready()函数,我们只能拥有一个body的onload函数。

  2. document.ready()函数在DOM加载后立即被调用,其中body.onload()函数在包含DOM,图像和页面的所有相关资源的页面上加载时调用。

document.ready()函数与body的onload()函数有所不同,原因有两个。

  1. 我们可以在一个页面中拥有多个document.ready()函数,我们只能拥有一个body的onload函数。
  2. document.ready()函数在DOM加载后立即被调用,其中body.onload()函数在包含DOM,图像和页面的所有相关资源的页面上加载时调用。

一旦HTML DOM加载,Document.ready()函数就会触发。 但是onload()函数会在HTML DOM之后触发,所有的主体内容像加载的图片一样。

body.onload()关心HTML结构和相关资源,因为document.ready()只关心HTML结构。

Onload注意DOM和资源:它检查图像是否加载,脚本是否可以运行等等。

$ .ready只是检查我们是否已经阅读了页面的完整DOM。

请查看此链接以获取更多解释和示例: http : //dailygit.com/difference-between-document-ready-and-window-load-in-jquery/