【问题标题】:Jquery. What is the difference between these functions $(document).ready and $(window).load? [duplicate]查询。这些函数 $(document).ready 和 $(window).load 有什么区别? [复制]
【发布时间】:2014-02-15 12:57:02
【问题描述】:

这些函数$(document).ready$(window).load 之间有什么区别,例如,如果我想在所有页面完全加载时用于运行代码?因为这些功能是用纯 JavaScript 实现的?谢谢!

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:
    window.onload = function() {
    
        alert( "welcome" );
    
    };
    

    很遗憾,在所有图片(包括横幅广告)下载完毕后,代码才会运行。为了在文档准备好被操作时立即运行代码,jQuery 有一个称为就绪事件的语句:

    $( document ).ready(function() {
    
        // Your code here.
    
    });
    

    来自http://learn.jquery.com/about-jquery/how-jquery-works/

    另外,$(document).ready(function(){}); 它通过回调调用函数。您可以定义多个$(document).ready。它会全部运行。

    window.onload = function(){}
    "assign" => 当你定义很多window.onload = ... 时,它只运行最后一个函数。

    【讨论】:

    • $(window).load()window.onload = ... 不是一回事,而是做同样的事情。您可以拥有很多想要的$(window).load() 事件,但不推荐使用(与 DOM 就绪方法相同)。与window.addEventListener('load', function(){}) 相同。此外,代码仅在“所有图像都完成”时运行也不是不幸
    【解决方案2】:

    $(document).ready() 会在 DOM 准备好后立即触发,您可以将 DOM 元素弄乱。 $(window).load() 在页面内容(包括图像)加载完成时触发。

    【讨论】:

      【解决方案3】:

      document.ready 将在 HTML 文档加载属性之后立即执行,并且 DOM 准备就绪。

      document.ready(一个 jQuery 事件)会在所有元素就位时触发,并且可以在 JS 代码中引用它们,但不一定加载内容。

      window.load 但是会等待页面完全加载,这包括内框、图像等。

      window.load 是一种内置的 JavaScript 方法,已知它在旧浏览器(IE6、IE8、旧 FF 和 Opera 版本)中存在一些问题,但通常适用于所有浏览器。

      window.load 可以像这样在 body 的 onload 事件中使用(但我强烈建议您避免在 HTML 中混合这样的代码,因为它会在以后造成混淆):

      【讨论】:

        猜你喜欢
        • 2011-07-08
        • 1970-01-01
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-29
        相关资源
        最近更新 更多