document.ready
和 onload
是两个常用的事件处理机制,用于在 HTML 文档加载完成后执行相应的 JavaScript 代码。它们之间有一些区别:
- 触发时机:
document.ready
在 DOM 结构构建完毕后触发,即使是在图片或其他资源加载完毕前也会触发;而onload
事件则是在整个页面(包括所有图片和资源)加载完毕后触发。 - 执行时机:
document.ready
处理程序会在 DOM 就绪后立即执行,不需要等待其他资源的加载;而onload
事件处理程序会在整个页面及其相关资源都加载完毕后才执行。 - 使用方式:
document.ready
可以通过 jQuery 库中的$(document).ready()
或$().ready()
方法来绑定事件处理程序;而onload
则可以通过直接将事件处理函数赋值给window.onload
属性来实现。 - 多次绑定:
document.ready
可以多次绑定多个处理程序,它们会按照绑定的顺序依次执行;而onload
只能有一个处理程序,后绑定的会覆盖前面的绑定。
总结来说,document.ready
是 jQuery 提供的一种简化版的事件,用于在 DOM 结构就绪后执行 JavaScript 代码。相比之下,onload
是原生 JavaScript 事件,在整个页面及其相关资源加载完毕后触发,适用于需要等待图片或其他资源加载完毕后再执行的情况。