在我的代码中,我将事件处理程序绑定到document
:
$(document).bind("myEvent", function() { ... });
我是否必须等待准备好的事件(即使用$(document).ready
)来绑定事件处理程序,以及当我document
特别绑定它们时?
在我的代码中,我将事件处理程序绑定到document
:
$(document).bind("myEvent", function() { ... });
我是否必须等待准备好的事件(即使用$(document).ready
)来绑定事件处理程序,以及当我document
特别绑定它们时?
$(document).ready
用于确保 DOM 在尝试与之交互之前已准备好。如果您将脚本放入,<head>
那么如果您与 DOM 交互,我建议您将代码放入此块中。如果您将脚本放在<body>
DOM 元素之后的底部,则不需要它 - 但我仍然建议使用它。
更新
将事件处理程序附加到处理程序document
不需要代码位于ready
处理程序中,但它通常用于保持一致性,有些人(包括我在内)将所有脚本放置在处理程序中以附加事件ready
处理程序(无论目标如何)。
您会注意到,在bind()
附加处理程序之前,该元素的文档必须存在。
处理程序附加到 jQuery 对象中当前选定的元素,因此这些元素必须存在于调用 .bind() 的位置。
另请注意,这.on()
是替代.bind()
jQuery 1.7的首选和建议方法