jQuery - 拥有多个$(document).ready(function(){})是不是很糟糕;

时间:2009-07-18 18:35:48

标签: jquery ajax

在您的网页上拥有多个$(document).ready(function() {});是不是很糟糕?我有一个网站,我在不同的时间加载不同的东西。我在$(document).ready()内部关闭了那些部分回发函数,但我一次在页面上有大约4或5个。这是一种不好的做法吗?具体来说,它会导致任何性能问题吗?

5 个答案:

答案 0 :(得分:32)

此答案已不再适用。请参阅下面的其他帖子,了解更多最新的jQuery $ .ready()影响。这篇文章已有3年多了。

请参阅:http://jsperf.com/docready/11

  

答案是否定的!你可以随意乱丢垃圾(请注意   字垃圾)。它们只是成为一个被调用的事件队列   准备好的事件被触发。

     

http://www.learningjquery.com/2006/09/multiple-document-ready

答案 1 :(得分:11)

答案实际上是“是的,它可以阻止性能”:

http://jsperf.com/docready/3

答案 2 :(得分:3)

没有任何数量可以随心所欲。更简洁,更优雅的方法是$(function(){})

答案 3 :(得分:1)

如果它在同一页面上,我会将它们全部放在同一个地方,这样你就不会因为忘记加载时发生的事情而感到困惑。

我怀疑性能影响是否显着。您是否尝试过将这些页面与它们进行基准测试并分开?

答案 4 :(得分:-1)

如果其中任何一个抛出异常,它会阻止其余的运行。使用跨多个源文件(特别是第三方库)“乱七八糟”的代码进行调试可能非常困难。