我第一次开始使用Javascript/jQuery时被告知要使用document.ready,但我从未真正了解为什么。
是否有人可以提供一些基本准则,说明在何时将javascript/jquery代码包装在jQuery的document.ready
中是有意义的?
我感兴趣的一些主题:
- jQuery的
.on()
方法:我经常使用.on()
方法进行AJAX(通常用于动态创建的DOM元素)。.on()
点击处理程序总是应该在document.ready
之内吗? - 性能:将各种javascript/jQuery对象放在或放在document.ready之外是否更高效(而且性能差异是否显着)?
- 对象范围:AJAX加载的页面无法访问先前页面的document.ready中的对象,对吧?它们只能访问在document.ready之外的对象(即真正的“全局”对象)?
更新:为了遵循最佳实践,我的所有javascript(jQuery库和我的应用程序代码)都位于HTML页面的底部,并且我在我AJAX加载的页面上使用defer
属性来包含jQuery,以便我可以在这些页面上访问jQuery库。