我应该等待文件准备好吗?

在我的代码中,我将事件处理程序绑定到document

 $(document).bind("myEvent", function() { ... }); 

我是否必须等待ready事件(即使用$(document).ready )来绑定事件处理程序,特别是当我将它们绑定到document时?

$(document).ready用于确保DOM在尝试与之交互之前就绪。 如果您将脚本放在那么如果您与DOM交互,我建议您将代码放在此块中。 如果你把你的脚本放在DOM元素之后的的底部,那么它不是必需的 – 但我仍然建议使用它。

更新

将事件处理程序附加到document不需要代码在ready处理程序中,但它通常用于一致性,一些人(包括我)将所有脚本放置在ready处理程序中附加事件处理程序(无论目标)。

您会注意到,在bind()处理程序之前,元素必须存在于bind()的文档中。

处理程序附加到jQuery对象中当前选定的元素,因此这些元素必须存在于调用.bind()的位置。

另请注意, .on()是jQuery 1.7中使用.bind()的首选和建议方法