Permalink
Browse files

Event: Fix delegated radio events when arrow keys are used

Fixes gh-2343, gh-2410
Close gh-2617
  • Loading branch information...
dmethvin authored and timmywil committed Sep 28, 2015
1 parent 5db1e05 commit c82a6685bb964627e27008e298f93ea81218265b
Showing with 37 additions and 3 deletions.
  1. +4 −3 src/event.js
  2. +33 −0 test/integration/gh-2343-ie-radio-click.html
View
@@ -488,9 +488,10 @@ jQuery.event = {
// Find delegate handlers
// Black-hole SVG <use> instance trees (#13180)
//
// Support: Firefox
// Avoid non-left-click bubbling in Firefox (#3861)
if ( delegateCount && cur.nodeType && ( !event.button || event.type !== "click" ) ) {
// Support: Firefox<=42+
// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
if ( delegateCount && cur.nodeType &&
( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
for ( ; cur !== this; cur = cur.parentNode || this ) {
@@ -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>

0 comments on commit c82a668

Please sign in to comment.