Documentation
dojo/ready¶
Contents
dojo/ready registers a function to run when the DOM is ready and all outstanding require() calls have been resolved, and other registered functions with a higher priority have completed.
Its functionality has been mostly replaced by The AMD API, which registers a function to run when a set of dependencies have loaded, and the dojo/domReady! plugin, which registers the DOM-ready event as a pseudo-dependency, thus delaying callback execution until the DOM has finished loading.
However, unlike dojo/domReady, dojo/ready implements a priority queue, so applications can register which callbacks fire first by setting a priority for each callback. In this way, the dojo/parser is set to run before user callbacks run when using parseOnLoad. In these cases, dojo/ready can still be useful for widgets or other code that depend on a particular order of execution.
Note that if the DOM has already loaded, and all dependencies have been resolved, ready() functions will fire immediately.
Usage¶
require(["dojo/ready"], function(ready){
ready(function(){
// This function won't run until the DOM has loaded and other modules that register
// have run.
});
});
The signature of dojo/ready() is:
Name | Type | Description |
---|---|---|
priority | Integer | The order in which to exec this callback relative to other callbacks, defaults to 1000 |
context | undefined | The context in which to run execute callback, or a callback if not using context |
callback | Function | The function to execute. |
Examples¶
Register a function to fire after DOM ready and dojo/parser complete.
require(["dojo/ready", "dijit/registry", "dojo/parser", "dijit/form/Button"],
function(ready, registry){
ready(function(){
registry.byId("myWidget").set("label", "I fired after parser!");
});
});
<button type="button" id="myWidget" data-dojo-type="dijit/form/Button">Parsed Label</button>
Registers a function to fire after DOM ready but before the dojo/parser completes.
require(["dojo/ready", "dojo/dom", "dojo/parser", "dijit/form/Button"],
function(ready, dom){
ready(80, function(){
dom.byId("myWidget").innerHTML = "A different label!";
});
});
<button type="button" id="myWidget" data-dojo-type="dijit/form/Button">Parsed Label</button>
See Also¶
- dojo/domReady! - AMD Plugin to signal when the DOM is ready.