mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Event: Fix delegated radio events when arrow keys are used
Fixes gh-2343, gh-2410
Close gh-2617
(cherry picked from commit c82a6685bb
)
This commit is contained in:
parent
f5328b6a44
commit
657c2f8180
@ -514,9 +514,10 @@ jQuery.event = {
|
|||||||
// Find delegate handlers
|
// Find delegate handlers
|
||||||
// Black-hole SVG <use> instance trees (#13180)
|
// Black-hole SVG <use> instance trees (#13180)
|
||||||
//
|
//
|
||||||
// Support: Firefox
|
// Support: Firefox<=42+
|
||||||
// Avoid non-left-click bubbling in Firefox (#3861)
|
// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
|
||||||
if ( delegateCount && cur.nodeType && ( !event.button || event.type !== "click" ) ) {
|
if ( delegateCount && cur.nodeType &&
|
||||||
|
( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
|
||||||
|
|
||||||
/* jshint eqeqeq: false */
|
/* jshint eqeqeq: false */
|
||||||
for ( ; cur != this; cur = cur.parentNode || this ) {
|
for ( ; cur != this; cur = cur.parentNode || this ) {
|
||||||
|
33
test/integration/gh-2343-ie-radio-click.html
Normal file
33
test/integration/gh-2343-ie-radio-click.html
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head lang="en">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<title>Test for gh-2343 (IE11)</title>
|
||||||
|
<script src="../../dist/jquery.js"></script>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$( "fieldset" ).on( "click", "input", function() {
|
||||||
|
$( ".result" ).append( "click " + this.value + "<br />" );
|
||||||
|
} );
|
||||||
|
} );
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Test for gh-2343 (IE11)</h1>
|
||||||
|
<p>
|
||||||
|
Instructions: In <b>IE11</b>, click on or focus the first radio button.
|
||||||
|
Then use the left/right arrow keys to select the other radios.
|
||||||
|
You should see events logged in the results below.
|
||||||
|
</p>
|
||||||
|
<fieldset>
|
||||||
|
<input type="radio" name="rad" value="0" /> 0
|
||||||
|
<input type="radio" name="rad" value="1" /> 1
|
||||||
|
<input type="radio" name="rad" value="2" /> 2
|
||||||
|
</fieldset>
|
||||||
|
<div class="result"></div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user