From: Richard Gibson Date: Mon, 29 Apr 2019 17:26:53 +0000 (-0400) Subject: Event: Prevent leverageNative from registering duplicate dummy handlers X-Git-Tag: 3.4.1~2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6c1e7dbf7311ae7c0c31ba335fe216185047ae5f;p=jquery.git Event: Prevent leverageNative from registering duplicate dummy handlers Closes gh-4353 --- diff --git a/src/event.js b/src/event.js index 48d9095c9..3ff11ad0b 100644 --- a/src/event.js +++ b/src/event.js @@ -479,8 +479,7 @@ jQuery.event = { // Claim the first handler if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) && - dataPriv.get( el, "click" ) === undefined ) { + el.click && nodeName( el, "input" ) ) { // dataPriv.set( el, "click", ... ) leverageNative( el, "click", returnTrue ); @@ -497,8 +496,7 @@ jQuery.event = { // Force setup before triggering a click if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) && - dataPriv.get( el, "click" ) === undefined ) { + el.click && nodeName( el, "input" ) ) { leverageNative( el, "click" ); } @@ -539,7 +537,9 @@ function leverageNative( el, type, expectSync ) { // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add if ( !expectSync ) { - jQuery.event.add( el, type, returnTrue ); + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } return; }