Added in handling for DOMContentLoaded for Mozilla and window.onload, just in case.

This commit is contained in:
John Resig 2006-04-08 06:28:40 +00:00
parent e3828d1a48
commit fc26b57ace

View file

@ -2,7 +2,7 @@ var e = ["blur","focus","contextmenu","load","resize","scroll","unload",
"click","dblclick","mousedown","mouseup","mouseenter","mouseleave", "click","dblclick","mousedown","mouseup","mouseenter","mouseleave",
"mousemove","mouseover","mouseout","change","reset","select","submit", "mousemove","mouseover","mouseout","change","reset","select","submit",
"keydown","keypress","keyup","abort","error","ready"]; "keydown","keypress","keyup","abort","error","ready"];
for ( var i = 0; i < e.length; i++ ) { for ( var i = 0; i < e.length; i++ ) {
(function(){ (function(){
var o = e[i]; var o = e[i];
@ -42,22 +42,32 @@ $.fn.hover = function(f,g) {
// Deprecated // Deprecated
$.fn.onhover = $.fn.hover; $.fn.onhover = $.fn.hover;
$.ready = function() {
if ( $.$$timer ) {
clearInterval( $.$$timer );
$.$$timer = null;
for ( var i = 0; i < $.$$ready.length; i++ )
$.apply( document, $.$$ready[i] );
$.$$ready = null;
}
};
if ( document.addEventListener )
document.addEventListener( "DOMContentLoaded", $.ready, null );
addEvent( window, "load", $.ready );
$.fn.ready = function(f) { $.fn.ready = function(f) {
return this.each(function(){ return this.each(function(){
if ( this.$$timer ) { if ( $.$$timer ) {
this.$$ready.push( f ); $.$$ready.push( f );
} else { } else {
var obj = this; var o = this;
this.$$ready = [ f ]; $.$$ready = [ f ];
this.$$timer = setInterval( function(){ $.$$timer = setInterval( function(){
if ( obj && obj.getElementsByTagName && obj.getElementById && obj.body ) { if ( o && o.getElementsByTagName && o.getElementById && o.body )
clearInterval( obj.$$timer ); $.ready();
obj.$$timer = null; }, 10 );
for ( var i = 0; i < obj.$$ready.length; i++ )
$.apply( obj, obj.$$ready[i] );
obj.$$ready = null;
}
}, 13 );
} }
}); });
}; };
@ -71,4 +81,4 @@ $.fn.toggle = function(a,b) {
e.preventDefault(); e.preventDefault();
return $.apply( this, this.$$last, [e] ) || false; return $.apply( this, this.$$last, [e] ) || false;
}) : this._toggle(); }) : this._toggle();
}; };