event-ready-base.js revision 9769f2215434abe9c730e7ab7016249855fb9c91
/*
* DOM event listener abstraction layer
* @module event
* @submodule event-base
*/
(function() {
// Unlike most of the library, this code has to be executed as soon as it is
// introduced into the page -- and it should only be executed one time
// regardless of the number of instances that use it.
_ready = function(e) {
GLOBAL_ENV._ready();
};
if (!GLOBAL_ENV._ready) {
GLOBAL_ENV._ready = function() {
if (!GLOBAL_ENV.DOMReady) {
GLOBAL_ENV.DOMReady = true;
// remove DOMContentLoaded listener
}
};
// Internet Explorer: use the doScroll() method on the root element. This isolates what
// appears to be a safe moment to manipulate the DOM prior to when the document's readyState
// suggests it is safe to do so.
if (doScrollCap) {
stateChangeListener = function() {
// remove onreadystatechange listener
_ready();
}
};
// add onreadystatechange listener
} else {
try {
GLOBAL_ENV._dri = null;
_ready();
} catch (domNotReady) { }
}, pollInterval);
}
// FireFox, Opera, Safari 3+ provide an event for this moment.
} else {
// add DOMContentLoaded listener
}
}
})();