From: John Resig Date: Wed, 22 Aug 2007 06:51:41 +0000 (+0000) Subject: Only bind .ready() once per instance of jQuery - and only bind if the ready() method... X-Git-Tag: 1.1.4~4 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f53aa62fd3f08ad7a05e99e3836132216a8d5c7d;p=jquery.git Only bind .ready() once per instance of jQuery - and only bind if the ready() method is actually called (nothing is bound if window/load is used). --- diff --git a/src/event/event.js b/src/event/event.js index 2d007117a..a4a99d99c 100644 --- a/src/event/event.js +++ b/src/event/event.js @@ -529,6 +529,9 @@ jQuery.fn.extend({ * @see $(Function) */ ready: function(f) { + // Attach the listeners + bindReady(); + // If the DOM is already ready if ( jQuery.isReady ) // Execute the function immediately @@ -928,7 +931,13 @@ jQuery.extend({ }; }); - + +var readyBound = false; + +function bindReady(){ + if ( readyBound ) return; + readyBound = true; + // If Mozilla is used if ( jQuery.browser.mozilla || jQuery.browser.opera ) // Use the handy event callback @@ -974,3 +983,4 @@ jQuery.extend({ // A fallback to window.onload, that will always work jQuery.event.add( window, "load", jQuery.ready ); +} diff --git a/src/intro.js b/src/intro.js index 9c2f985eb..af50383ec 100644 --- a/src/intro.js +++ b/src/intro.js @@ -1,2 +1 @@ -// prevent execution of jQuery if included more than once -if ( typeof jQuery == "undefined" ) (function(){ +(function(){