返回值:undefinedjQuery.holdReady(hold)

持有或释放 jQuery 的 ready 事件的执行。

$.holdReady() 允许调用该方法的调用者延迟 jQuery 的 ready 事件。这个高级机能通常会被用来允许在 ready 事件发生之前,动态加载其它的 JavaScript(例如 jQuery 插件),即使 DOM 可能已经准备就绪。该方法必须在文档早期被调用,例如,在 <head> 中加载完 jQuery 脚本之后,立刻调用该方法。如果在 ready 事件已经被调用后再调用该方法,将不会起作用。

为了延迟 ready 事件,首先要调用 $.holdReady(true),然后,当 ready 事件准备执行时,再调用 $.holdReady(false)。注意,在 ready 事件中可以设置多个 hold。每一个都对应一次 $.holdReady(true) 调用。直到所有的 hold 都被释放,也就是调用了对应数量的 $.holdReady(false) 之后,并且满足正常的文档 ready 条件时,ready 事件才会被真正执行。(详见 ready 来获得更多信息。)

示例:

延迟 ready 事件,直到自定义插件加载完成。

jQuery 代码:

$.holdReady(true);
$.getScript("myplugin.js", function() {
     $.holdReady(false);
});