返回值:undefinedjQuery.holdReady(hold)
持有或释放 jQuery 的 ready 事件的执行。
-
1.6 新增jQuery.holdReady(hold)
hold (Boolean) 表示是否正在请求持有或释放 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);
});