X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent%2Fevent.js;h=812b8923d4a78e2beaaa5832fc9879e72e272064;hb=e45dbf29f88fb965c0abd039a65bc0302dea7e43;hp=b9f130b6c9f2ea3ce1413b379a046868ec111f46;hpb=39b0976e3ed605ec985a6171b059f20ad566808d;p=jquery.git diff --git a/src/event/event.js b/src/event/event.js index b9f130b..812b892 100644 --- a/src/event/event.js +++ b/src/event/event.js @@ -74,23 +74,21 @@ jQuery.event = { data = jQuery.makeArray(data || []); // Handle a global trigger - if ( !element ) { - var g = this.global[type]; - if ( g ) - for ( var i = 0, gl = g.length; i < gl; i++ ) - this.trigger( type, data, g[i] ); + if ( !element ) + jQuery.each( this.global[type] || [], function(){ + jQuery.event.trigger( type, data, this ); + }); // Handle triggering a single element - } else if ( element["on" + type] ) { - if ( element[ type ] && element[ type ].constructor == Function ) - element[ type ](); - else { - // Pass along a fake event - data.unshift( this.fix({ type: type, target: element }) ); + else if ( element["on" + type] ) { + // Pass along a fake event + data.unshift( this.fix({ type: type, target: element }) ); - // Trigger the event - element["on" + type].apply( element, data ); - } + // Trigger the event + var val = element["on" + type].apply( element, data ); + + if ( val !== false && jQuery.isFunction( element[ type ] ) ) + element[ type ](); } }, @@ -468,8 +466,9 @@ jQuery.extend({ // If there are functions bound, to execute if ( jQuery.readyList ) { // Execute all of them - for ( var i = 0; i < jQuery.readyList.length; i++ ) - jQuery.readyList[i].apply( document ); + jQuery.each( jQuery.readyList, function(){ + this.apply( document ); + }); // Reset the list of functions jQuery.readyList = null;