为什么要使用jQuery $(window).ready()以及它与$(window).load()的区别

Dai*_*Bok 0 html javascript jquery

我已经遇到了一些代码使用$(window).ready()了圆顶UI调整大小和HTML元素定位.我想知道为什么使用它?以这种方式使用它有优势吗?

有没有任何优势 $(document).ready()?

Den*_*ret 10

的优势,readyload事件是,它一旦DOM准备好触发,无需等待距离的资源(主要是图像)被加载.通常,您只需要确保元素存在,以便可以绑定它们,但不需要加载距离资源.

文档:

在大多数情况下,只要完全构造DOM层次结构,就可以运行脚本

$(window).ready()并且$(document).ready()是等价的.

源代码:

ready: function( fn ) {
    // Add the callback
    jQuery.ready.promise().done( fn );

    return this;
},
Run Code Online (Sandbox Code Playgroud)

您会看到该参数甚至没有被使用,它只是返回,以便您可以根据需要进行链接.你可以做到这一点:

$({}).ready(function(){
    ...
});
Run Code Online (Sandbox Code Playgroud)

但你不应该担心,应该使用快捷方式:

$(function(){
    // your code which needs the DOM here
});
Run Code Online (Sandbox Code Playgroud)

  • 从未听说过`$(window).ready`.它们是等价的,因为参数被完全忽略.jQuery文档建议`$(document).ready()`和`$()`同样好. (3认同)