reduce complexity of ready further, and try manipulating DOM to make sure we're really ready

This commit is contained in:
Mike Sherov 2012-05-04 13:31:35 -04:00
parent f925c7a1c9
commit 714b8ffd2b
3 changed files with 7 additions and 7 deletions

View File

@ -59,18 +59,16 @@ var jQuery = function( selector, context ) {
// The deferred used on DOM ready // The deferred used on DOM ready
readyList, readyList,
// The ready event handler // The ready event handler and self cleanup method
// Cleanup function for the document ready method
DOMContentLoaded = function() { DOMContentLoaded = function() {
if ( document.addEventListener ) { if ( document.addEventListener ) {
document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
jQuery.ready(); } else {
} else if ( document.readyState !== "loading" ) { // we're here because readyState !== "loading" in oldIE
// if document.addEventListener isn't present, we assume detachEvent is! // which is good enough for us to call the dom ready!
// Make sure body exists by checking readystate, at least, in case IE gets a little overzealous (ticket #5443).
document.detachEvent( "onreadystatechange", DOMContentLoaded ); document.detachEvent( "onreadystatechange", DOMContentLoaded );
jQuery.ready();
} }
jQuery.ready();
}, },
// Save a reference to some core methods // Save a reference to some core methods

View File

@ -14,6 +14,7 @@ if ( document.attachEvent ) {
el.type = "text/javascript"; el.type = "text/javascript";
el.onload = function() { el.onload = function() {
jQuery( document ).ready(function() { jQuery( document ).ready(function() {
jQuery("body").append("<div>modifying DOM</div>");
window.parent.iframeCallback( true ); window.parent.iframeCallback( true );
}); });
} }

View File

@ -8,6 +8,7 @@
<body> <body>
<script type="text/javascript"> <script type="text/javascript">
jQuery( document ).ready(function () { jQuery( document ).ready(function () {
jQuery("body").append("<div>modifying DOM</div>");
window.parent.iframeCallback( true ); window.parent.iframeCallback( true );
}); });
</script> </script>