我有一个问题,在我的ASP.NET MVC Web应用程序中,我必须在页面和所有控件加载后进行某些验证。
在javascript中我使用belwow代码行来调用方法。
window.load = JavascriptFunctionName ;
我团队中的一位人员问我没有使用上面的代码行 而是使用JQuery来做同样的事情
document.attachEvent("onreadystatechange", function() {
if (document.readyState === "complete") {
CheckThis();
}
});
请帮助我理解两者之间的区别。 当我通过在Jquery中保持警报进行测试时,首先执行检查并调用CheckThis函数,其中window.load需要一些时间并在其后执行。 请建议
答案 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();
});