Skip to content

Commit a2092d8

Browse files
author
yan
committed
Event: subtle change to remove
1 parent 1472290 commit a2092d8

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

src/event.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ jQuery.event = {
157157
var j, handleObj, tmp,
158158
origCount, t, events,
159159
special, handlers, type,
160-
namespaces, origType,
160+
namespaces, origType, spliced,
161161
elemData = jQuery.hasData( elem ) && jQuery._data( elem );
162162

163163
if ( !elemData || !(events = elemData.events) ) {
@@ -190,19 +190,21 @@ jQuery.event = {
190190
while ( j-- ) {
191191
handleObj = handlers[ j ];
192192

193-
if ( ( mappedTypes || origType === handleObj.origType ) &&
193+
spliced = ( mappedTypes || origType === handleObj.origType ) &&
194194
( !handler || handler.guid === handleObj.guid ) &&
195195
( !tmp || tmp.test( handleObj.namespace ) ) &&
196-
( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
197-
handlers.splice( j, 1 );
196+
( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) &&
197+
handlers.splice( j, 1 );
198198

199+
if ( spliced && spliced.length > 0 ) {
200+
// Will never be reached when processed by uglify-js@2.4.23!
199201
if ( handleObj.selector ) {
200202
handlers.delegateCount--;
201203
}
202204
if ( special.remove ) {
203205
special.remove.call( elem, handleObj );
204206
}
205-
}
207+
}
206208
}
207209

208210
// Remove generic event handler if we removed something and no more handlers exist

0 commit comments

Comments
 (0)