jQuery document.ready vs pageLoad

时间:2011-10-19 15:45:48

标签: javascript jquery

我从另一位开发人员那里获得了一个现有的项目,并且在代码中注意到他们正在三个不同的事件处理程序中执行js代码...

function pageLoad() {
//execute code
}

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

$(function() {
//execute code
});

我的问题是 - 他们都完全一样吗?或者至少是最后两个?我知道pageLoad是由.NET框架调用的,因此它不依赖于像后两个那样加载的jQuery库 - 这是我的理解 - 无论如何都是正确的吗?

6 个答案:

答案 0 :(得分:19)

<强> $(文件)。就绪()

  • 非常适合一次性初始化。

  • 优化黑魔法;可能比pageLoad()稍早运行。

  • 不会将功能重新附加到受部分回发影响的元素。

<强>页面加载()

  • 如果与UpdatePanels一起使用,则不适合一次初始化。

  • 在某些浏览器中略微优化,但一致。

  • 非常适合将功能重新附加到UpdatePanels中的元素。

答案 1 :(得分:5)

pageLoad和jQuery ready处理程序都是完成类似事情的方法。

后两个例子是相同的。

http://encosia.com/document-ready-and-pageload-are-not-the-same/

答案 2 :(得分:3)

最后一个只是上面一个的简写符号。 http://www.jquery4u.com/dom-modification/types-document-ready/

答案 3 :(得分:0)

$(document).ready()不会触发部分回发(发生在AJAX中)。在这种情况下,当您需要在页面从完整回发或部分加载时执行某些操作时,应使用MS AJAX pageLoad函数。

Encosia网站上的文章很好读。

答案 4 :(得分:0)

$(document).ready(function() {
`enter code here`
//execute code
});

$(function() {
`enter code here`
});

两个函数以相同的方式执行任务,在文档准备好后在其中执行代码。

function pageLoad() {
`enter code here`
}

这在每次回发后执行,通常与更新面板控件一起使用,因为上述两个函数不会每次或每次回发都执行。

答案 5 :(得分:-3)

在这个网站中你会发现不同之处:)

Document.ready Vs pageLoad