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。)

示例

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

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