Support event delegation with relative selectors. Fixes #10762. Closes gh-860.

This commit is contained in:
Richard Gibson
2012-07-23 12:48:29 -04:00
committed by Timmy Willison
parent a08a18b80a
commit e761e0c6e0
2 changed files with 14 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
var runtil = /Until$/,
rparentsprev = /^(?:parents|prev(?:Until|All))/,
isSimple = /^.[^:#\[\.,]*$/,
POS = jQuery.expr.match.globalPOS,
rneedsContext = jQuery.expr.match.needsContext,
// methods guaranteed to produce a unique set when starting from a unique set
guaranteedUnique = {
children: true,
@@ -72,9 +72,9 @@ jQuery.fn.extend({
is: function( selector ) {
return !!selector && (
typeof selector === "string" ?
// If this is a positional selector, check membership in the returned set
// If this is a positional/relative selector, check membership in the returned set
// so $("p:first").is("p:last") won't return true for a doc with two "p".
POS.test( selector ) ?
rneedsContext.test( selector ) ?
jQuery( selector, this.context ).index( this[0] ) >= 0 :
jQuery.filter( selector, this ).length > 0 :
this.filter( selector ).length > 0 );
@@ -85,7 +85,7 @@ jQuery.fn.extend({
i = 0,
l = this.length,
ret = [],
pos = POS.test( selectors ) || typeof selectors !== "string" ?
pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
jQuery( selectors, context || this.context ) :
0;