jQuery.holdReady()


jQuery.holdReady( hold )返回值: undefined版本已弃用: 3.2

描述: 暂停或释放 jQuery 的 ready 事件执行。

注意: 此 API 已在 jQuery 3.2 中弃用。与其依赖此全局开关,不如显式等待所需代码。如果您需要同时等待 ready 状态和自定义 promise,请使用以下模式

$.when( $.ready, customPromise ) .then( function() { // 主代码 } ) .catch( function( error ) { // 处理错误 } )

$.holdReady() 方法允许调用者延迟 jQuery 的 ready 事件。此高级功能通常由动态脚本加载器使用,这些加载器希望在允许 ready 事件发生之前加载额外的 JavaScript(如 jQuery 插件),即使 DOM 可能已准备就绪。此方法必须在文档的早期调用,例如在<head> 中,紧接在 jQuery 脚本标签之后。在 ready 事件已经触发后调用此方法将不会有任何效果。

要延迟 ready 事件,首先调用$.holdReady( true )。当 ready 事件应该被释放以执行时,调用$.holdReady( false )。请注意,可以对 ready 事件进行多次暂停,每次$.holdReady( true ) 调用一次。ready 事件实际上不会触发,直到所有暂停都通过相应数量的$.holdReady( false ) 调用释放并且满足正常的文档就绪条件。(有关更多信息,请参阅 ready。)

示例

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

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