Window.load和document.readyState之间有什么区别

时间:2010-03-16 19:21:47

标签: jquery asp.net-mvc javascript-events

我有一个问题,在我的ASP.NET MVC Web应用程序中,我必须在页面和所有控件加载后进行某些验证。

在javascript中我使用belwow代码行来调用方法。

window.load = JavascriptFunctionName ; 

我团队中的一位人员问我没有使用上面的代码行 而是使用JQuery来做同样的事情

 document.attachEvent("onreadystatechange", function() {
        if (document.readyState === "complete") {
            CheckThis();

        }
    });

请帮助我理解两者之间的区别。 当我通过在Jquery中保持警报进行测试时,首先执行检查并调用CheckThis函数,其中window.load需要一些时间并在其后执行。 请建议

3 个答案:

答案 0 :(得分:7)

window.load - 在加载所有内容时运行,包括图像。

document.ready - 当DOM准备好,所有元素都在页面上并准备好时,它会运行,但不一定要加载图像。

这是jQuery的做法document.ready

$(function() {
  CheckThis();
});

如果你想在window.load上发生这种情况,请执行以下操作:

$(window).load(function() {
  CheckThis();
});

答案 1 :(得分:3)

页面完全加载时会触发

window.load(包含图片,横幅等),但在DOM准备就绪时会触发document.readyState

答案 2 :(得分:3)

就绪处理程序在创建DOM后立即执行,而无需等待加载所有外部资源。

由于您使用的是jQuery,因此更简洁,浏览器不可知,并且广泛使用的语法是:

$(function(){  
   CheckThis();
});