X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fevent%2Fevent.js;h=a4a99d99c2cae9a54982bc3600431868a6ccfbf8;hb=257eaf7ee32df66ddd0a3333a5b6a829b9d388ef;hp=bb5f9d273dc345f3e2ac9451e15829178ab1bec1;hpb=2ef4093cf7f52383dd43bd361864edcda27e5c3c;p=jquery.git diff --git a/src/event/event.js b/src/event/event.js index bb5f9d2..a4a99d9 100644 --- a/src/event/event.js +++ b/src/event/event.js @@ -130,7 +130,7 @@ jQuery.event = { if ( !element ) { // Only trigger if we've ever bound an event for it if ( this.global[type] ) - jQuery("*").trigger(type, data); + jQuery("*").add([window, document]).trigger(type, data); // Handle triggering a single element } else { @@ -161,7 +161,7 @@ jQuery.event = { // Empty object is for triggered events with no data event = jQuery.event.fix( event || window.event || {} ); - var c = this.$events && this.$events[event.type], args = [].slice.call( arguments, 1 ); + var c = this.$events && this.$events[event.type], args = Array.prototype.slice.call( arguments, 1 ); args.unshift( event ); for ( var j in c ) { @@ -196,14 +196,14 @@ jQuery.event = { event.preventDefault = function() { // if preventDefault exists run it on the original event if (originalEvent.preventDefault) - return originalEvent.preventDefault(); + originalEvent.preventDefault(); // otherwise set the returnValue property of the original event to false (IE) originalEvent.returnValue = false; }; event.stopPropagation = function() { // if stopPropagation exists run it on the original event if (originalEvent.stopPropagation) - return originalEvent.stopPropagation(); + originalEvent.stopPropagation(); // otherwise set the cancelBubble property of the original event to true (IE) originalEvent.cancelBubble = true; }; @@ -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 @@ -578,8 +581,6 @@ jQuery.extend({ } }); -new function(){ - /** * Bind a function to the scroll event of each matched element. * @@ -930,7 +931,13 @@ new function(){ }; }); - + +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 @@ -976,5 +983,4 @@ new function(){ // A fallback to window.onload, that will always work jQuery.event.add( window, "load", jQuery.ready ); - -}; +}