Permalink
Browse files

Button: modified the event bindings for focus and blur. Fixed #6711 -…

… checkbox/radio button do not show focused state when using Keyboard Navigation

(cherry picked from commit c49dbe0)
  • Loading branch information...
1 parent bb076e3 commit ad947c7ba981a371469bafd34ac7f88dee8995bb @ruprict ruprict committed with scottgonzalez May 26, 2011
Showing with 17 additions and 7 deletions.
  1. +8 −0 tests/unit/button/button_tickets.js
  2. +9 −7 ui/jquery.ui.button.js
@@ -20,6 +20,14 @@ test( "#6262 - buttonset not applying ui-corner to invisible elements", function
ok( set.find( "label:eq(2)" ).is( ".ui-button.ui-corner-right" ) );
});
+test( "#6711 Checkbox/Radiobutton do not Show Focused State when using Keyboard Navigation", function() {
+ var check = $( "#check" ).button(),
+ label = $( "label[for='check']" );
+ ok( !label.is( ".ui-state-focus" ) );
+ check.focus();
+ ok( label.is( ".ui-state-focus" ) );
+});
+
test( "#7092 - button creation that requires a matching label does not find label in all cases", function() {
var group = $( "<span><label for='t7092a'/><input type='checkbox' id='t7092a'/></span>" );
group.find( "input:checkbox" ).button();
View
@@ -94,19 +94,21 @@ $.widget( "ui.button", {
}
$( this ).removeClass( hoverClass );
})
- .bind( "focus.button", function() {
- // no need to check disabled, focus won't be triggered anyway
- $( this ).addClass( focusClass );
- })
- .bind( "blur.button", function() {
- $( this ).removeClass( focusClass );
- })
.bind( "click.button", function( event ) {
if ( options.disabled ) {
event.stopImmediatePropagation();
}
});
+ this.element
+ .bind( "focus.button", function() {
+ // no need to check disabled, focus won't be triggered anyway
+ self.buttonElement.addClass( focusClass );
+ })
+ .bind( "blur.button", function() {
+ self.buttonElement.removeClass( focusClass );
+ });
+
if ( toggleButton ) {
this.element.bind( "change.button", function() {
if ( clickDragged ) {

0 comments on commit ad947c7

Please sign in to comment.