From a suggestion by Diego, moved the jQuery.ready() call outside of the try{}catch() block for IE/Safari DOM Ready.

This commit is contained in:
John Resig 2007-10-15 17:55:54 +00:00
parent 971840f343
commit a2fc65fd32

View file

@ -430,24 +430,20 @@ function bindReady(){
document.addEventListener( "DOMContentLoaded", jQuery.ready, false ); document.addEventListener( "DOMContentLoaded", jQuery.ready, false );
// If Safari or IE is used // If Safari or IE is used
else { // Continually check to see if the document is ready
// Continually check to see if the document is ready else (function(){
function timer(){ try {
try { // If IE is used, use the trick by Diego Perini
// If IE is used, use the trick by Diego Perini // http://javascript.nwbox.com/IEContentLoaded/
// http://javascript.nwbox.com/IEContentLoaded/ if ( jQuery.browser.msie || document.readyState != "loaded" && document.readyState != "complete" )
if ( jQuery.browser.msie || document.readyState != "loaded" && document.readyState != "complete" ) document.documentElement.doScroll("left");
document.documentElement.doScroll("left"); } catch( error ) {
return setTimeout( arguments.callee, 0 );
// and execute any waiting functions
jQuery.ready();
} catch( error ) {
setTimeout( timer, 0 );
}
} }
timer(); // and execute any waiting functions
} jQuery.ready();
})();
// A fallback to window.onload, that will always work // A fallback to window.onload, that will always work
jQuery.event.add( window, "load", jQuery.ready ); jQuery.event.add( window, "load", jQuery.ready );