mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Event: Only check elements for delegation matches
Closes gh-2529
Ref trac-13208
(cherry picked from commit fc2ba2e136
)
This commit is contained in:
parent
9adfad1986
commit
9d820fbde6
@ -483,8 +483,9 @@ jQuery.event = {
|
||||
|
||||
for ( ; cur !== this; cur = cur.parentNode || this ) {
|
||||
|
||||
// Don't check non-elements (#13208)
|
||||
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
|
||||
if ( cur.disabled !== true || event.type !== "click" ) {
|
||||
if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) {
|
||||
matches = [];
|
||||
for ( i = 0; i < delegateCount; i++ ) {
|
||||
handleObj = handlers[ i ];
|
||||
|
@ -1834,6 +1834,17 @@ test( "delegated event with selector matching Object.prototype property (#13203)
|
||||
equal( matched, 0, "Nothing matched 'toString'" );
|
||||
});
|
||||
|
||||
test( "delegated event with intermediate DOM manipulation (#13208)", function() {
|
||||
expect(1);
|
||||
|
||||
jQuery("#foo").on( "click", "[id=sap]", function() {});
|
||||
jQuery("#sap").on( "click", "[id=anchor2]", function() {
|
||||
document.createDocumentFragment().appendChild( this.parentNode );
|
||||
ok( true, "Element removed" );
|
||||
});
|
||||
jQuery("#anchor2").trigger("click");
|
||||
});
|
||||
|
||||
test("stopPropagation() stops directly-bound events on delegated target", function() {
|
||||
expect(1);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user