diff options
Diffstat (limited to 'src/event.js')
-rw-r--r-- | src/event.js | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/event.js b/src/event.js index 902b2b5ff..d4c17cf31 100644 --- a/src/event.js +++ b/src/event.js @@ -81,6 +81,7 @@ jQuery.event = { handler: handler, guid: handler.guid, selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), namespace: namespaces.join(".") }, handleObjIn ); @@ -393,7 +394,9 @@ jQuery.event = { sel = handleObj.selector; if ( selMatch[ sel ] === undefined ) { - selMatch[ sel ] = jQuery( sel, this ).index( cur ) >= 0; + selMatch[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; } if ( selMatch[ sel ] ) { matches.push( handleObj ); |