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

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

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

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

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

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

推迟的是:

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

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

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

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