From 395f1da76ba9faeb2f72548c28da228474a2434c Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Thu, 1 Nov 2012 16:53:39 -0400 Subject: [PATCH] Fix #12827. Remove exclusive event semantics from .trigger(). No unit tests were removed in the undoing of this feature. :sob: --- src/event.js | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/event.js b/src/event.js index d52102adb..c49967c1e 100644 --- a/src/event.js +++ b/src/event.js @@ -202,7 +202,7 @@ jQuery.event = { } // Event object or event type - var cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType, + var cache, i, cur, old, ontype, special, handle, eventPath, bubbleType, type = event.type || event, namespaces = event.namespace ? event.namespace.split(".") : []; @@ -211,12 +211,6 @@ jQuery.event = { return; } - if ( type.indexOf( "!" ) >= 0 ) { - // Exclusive events trigger only for the exact event (no namespaces) - type = type.slice(0, -1); - exclusive = true; - } - if ( type.indexOf( "." ) >= 0 ) { // Namespaced trigger; create a regexp to match event type in handle() namespaces = type.split("."); @@ -240,7 +234,6 @@ jQuery.event = { event.type = type; event.isTrigger = true; - event.exclusive = exclusive; event.namespace = namespaces.join( "." ); event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null; ontype = type.indexOf( ":" ) < 0 ? "on" + type : ""; @@ -357,7 +350,6 @@ jQuery.event = { handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []), delegateCount = handlers.delegateCount, args = core_slice.call( arguments ), - run_all = !event.exclusive && !event.namespace, special = jQuery.event.special[ event.type ] || {}, handlerQueue = []; @@ -413,9 +405,9 @@ jQuery.event = { for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) { handleObj = matched.matches[ j ]; - // Triggered event must either 1) be non-exclusive and have no namespace, or + // Triggered event must either 1) have no namespace, or // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { + if ( !event.namespace || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { event.data = handleObj.data; event.handleObj = handleObj; -- 2.39.5