# jQuery.holdReady()

Categories: Core

## jQuery.holdReady( hold ) Returns: undefined

Description: Holds or releases the execution of jQuery's ready event.

- #### version added: 1.6jQuery.holdReady( hold )

  holdIndicates whether the ready hold is being requested or released

The `$.holdReady()` method allows the caller to delay jQuery's ready event. This advanced feature would typically be used by dynamic script loaders that want to load additional JavaScript such as jQuery plugins before allowing the ready event to occur, even though the DOM may be ready. This method must be called early in the document, such as in the `<head>` immediately after the jQuery script tag. Calling this method after the ready event has already fired will have no effect.

To delay the ready event, first call `$.holdReady(true)`. When the ready event should be released to execute, call `$.holdReady(false)`. Note that multiple holds can be put on the ready event, one for each `$.holdReady(true)` call. The ready event will not actually fire until all holds have been released with a corresponding number of `$.holdReady(false)` calls and the normal document ready conditions are met. (See `ready` for more information.)

### Example:

#### Delay the ready event until a custom plugin has loaded.

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