Possible Duplicate:
Why does setTimeout(fn, 0) sometimes help?
Reading jQuery 1.8 source,
WHY does it do setTimeout with 0 ms delay ? (instead of just executing the callback ?)
https://github.com/jquery/jquery/blob/1.8.0/src/ajax/xhr.js#L196
                if ( !s.async ) {                       
                    callback();
                } else if ( xhr.readyState === 4 ) {
                    // (IE6 & IE7) if it's in cache and has been
                    // retrieved directly we need to fire the callback
         //-------->// WHY do setTimeout with 0 ms delay ?
                    setTimeout( callback, 0 );
                } else {
                    handle = ++xhrId;
 
     
     
    