@@ -368,7 +368,7 @@ jQuery.event = {
368368 } ,
369369
370370 handle : function ( event ) {
371- var all , handlers , namespaces , namespace , events ;
371+ var all , handlers , namespaces , namespace_sort , namespace_re , events ;
372372
373373 event = arguments [ 0 ] = jQuery . event . fix ( event || window . event ) ;
374374 event . currentTarget = this ;
@@ -379,7 +379,8 @@ jQuery.event = {
379379 if ( ! all ) {
380380 namespaces = event . type . split ( "." ) ;
381381 event . type = namespaces . shift ( ) ;
382- namespace = new RegExp ( "(^|\\.)" + namespaces . slice ( 0 ) . sort ( ) . join ( "\\.(?:.*\\.)?" ) + "(\\.|$)" ) ;
382+ namespace_sort = namespaces . slice ( 0 ) . sort ( ) ;
383+ namespace_re = new RegExp ( "(^|\\.)" + namespace_sort . join ( "\\.(?:.*\\.)?" ) + "(\\.|$)" ) ;
383384 }
384385
385386 events = jQuery . data ( this , "events" ) ;
@@ -393,12 +394,13 @@ jQuery.event = {
393394 var handleObj = handlers [ j ] ;
394395
395396 // Filter the functions by class
396- if ( all || namespace . test ( handleObj . namespace ) ) {
397+ if ( all || namespace_re . test ( handleObj . namespace ) ) {
397398 // Pass in a reference to the handler function itself
398399 // So that we can later remove it
399400 event . handler = handleObj . handler ;
400401 event . data = handleObj . data ;
401402 event . handleObj = handleObj ;
403+ event . namespace = all ? '' : namespace_sort . join ( "." ) ;
402404
403405 var ret = handleObj . handler . apply ( this , arguments ) ;
404406
0 commit comments