在什么情况下jQuery的document.ready()不是必需的?

时间:2010-05-11 09:39:46

标签: jquery

虽然John Resig建议在jquery.document.ready()函数中声明所有事件是非常正确的,但我知道你实际上并没有放在那里。事实上,有些情况下,故意将方法置于就绪事件之外可能更为合适。

但那些案件是什么?显然,最佳实践要求所有事件都在ready事件中声明,那么在该事件之外的声明最佳做法是什么?

修改 请记住,我不仅仅是在不太明显的东西之后,但我也希望对这些显而易见的部分有一个很好的解释。例如,如果我正在编写插件,我不会在jquery.document.ready()调用中封装该代码。

2 个答案:

答案 0 :(得分:5)

将事物放入ready事件可确保在调用函数时可以使用完整的DOM。

不依赖于DOM的任何函数和事件都不需要放入ready事件中。

有时您甚至需要将事情排除在ready功能之外,例如document.write()命令将HTML放入脚本所在位置的标记中。

答案 1 :(得分:2)

将所有内容放在jquery.document.ready()中:

  • 更改布局(您希望防止页面闪烁)
  • 用户交互需要
  • ,以使页面可用

推迟的是:

  • 对用户不重要的一切,例如分析,广告
  • (稍微)改善用​​户体验的事情
  • 获取要添加到页面的非必要小部件或按钮