关于何时调用$(document).ready(handler)中的处理程序的问题

时间:2011-06-29 20:46:48

标签: jquery event-handling

我知道$(document).ready(handler)在加载DOM结构时执行处理程序。但是,如果您在单击链接并且脚本包含$(文档).ready(处理程序)后执行了脚本,那么处理程序是否会被调用? (就像处理程序被调用一样,只要文档准备就绪,即使文档很久以前已完全加载了吗?另外如果你有jQuery编辑DOM结构,那么任何现有$(document).ready运行的处理程序都会运行再次,因为DOM结构会改变并再次准备好吗?

谢谢!

3 个答案:

答案 0 :(得分:4)

是的,如果文档已经准备好,将调用处理程序。不,它不会再次调用DOM中的更改。

答案 1 :(得分:3)

绑定jQuery.ready()的处理程序即使在初始ready事件被触发后附加它们也会触发。 但是,与jQuery.bind("ready")绑定的处理程序将。如果您知道,可能会有用,但可能会造成令人困惑的行为。

操作DOM时,事件不会再次触发。

答案 2 :(得分:0)

听起来你仍然感觉到jquery的执行。我建议在测试期间在不同的处理程序中弹出一些alert()调用以获得它的挂起。像...

alert("This is first handler running.");