X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=06a6d831af9d82578e0f5997e3cd011eba775110;hb=eced38a30d21d025db3e219f3cce7239754316d8;hp=54705d10a25b5fccef5de7419d00da8cd2fe713e;hpb=d1146aa7bfda81f5737fa1304af894cd9c578858;p=jquery.git diff --git a/src/event.js b/src/event.js index 54705d1..06a6d83 100644 --- a/src/event.js +++ b/src/event.js @@ -128,10 +128,10 @@ jQuery.event = { // remove all handlers for the given type else - for ( handler in events[type] ) + for ( var handle in events[type] ) // Handle the removal of namespaced events - if ( namespace.test(events[type][handler].type) ) - delete events[type][handler]; + if ( namespace.test(events[type][handle].type) ) + delete events[type][handle]; if ( jQuery.event.specialAll[type] ) jQuery.event.specialAll[type].teardown.call(elem, namespaces); @@ -163,7 +163,8 @@ jQuery.event = { } }, - trigger: function( event, data, elem, bubbling /* internal */ ) { + // bubbling is internal + trigger: function( event, data, elem, bubbling ) { // Event object or event type var type = event.type || event; @@ -199,16 +200,13 @@ jQuery.event = { if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 ) return undefined; - // AT_TARGET phase (not bubbling) - if( !bubbling ){ - // Clean up in case it is reused - event.result = undefined; - event.target = elem; - - // Clone the incoming data, if any - data = jQuery.makeArray(data); - data.unshift( event ); - } + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray(data); + data.unshift( event ); } event.currentTarget = elem; @@ -231,13 +229,13 @@ jQuery.event = { } catch (e) {} } + this.triggered = false; + if ( !event.isPropagationStopped() ) { var parent = elem.parentNode || elem.ownerDocument; if ( parent ) jQuery.event.trigger(event, data, parent, true); } - - this.triggered = false; }, handle: function(event) {