jQuery中.ready()的必要性

key*_*red 3 javascript jquery

我已经看过各种各样的例子使用这个,我很想知道,在下面包装jQuery代码是危险的吗?

$(document).ready(function () {});
Run Code Online (Sandbox Code Playgroud)

我知道它做了什么,我知道你为什么这样做,但我很好奇,如果它更不安全或只是不好的做法/风格没有它?谢谢!

dav*_*vid 6

如果您的代码需要访问DOM,则使用它.

如果您只是设置类和模块,而不是实际运行它们,那么您不需要将它们包装在就绪处理程序中.

但是,如果您正在执行需要加载元素的内容(例如,添加事件处理程序),则需要在ready()事件中执行此操作.

编辑:

这是一个例子:http://jsfiddle.net/ctrlfrk/43n8U/ 尝试注释掉addHandler函数,看看会发生什么.

(请注意,我已经设置了jsfiddle来在head标签中运行此代码,默认情况下它通常会将代码放在onload事件中,从而无需使用ready处理程序)

  • 如果您通过实时功能附加活动,则不需要它:http://encosia.com/2010/08/18/dont-let-jquerys-document-ready-slow-you-down/ (2认同)