mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Button: modified the event bindings for focus and blur. Fixed #6711 - checkbox/radio button do not show focused state when using Keyboard Navigation
This commit is contained in:
parent
e89ae5f3bb
commit
c49dbe0f01
@ -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" ) );
|
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() {
|
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>" );
|
var group = $( "<span><label for='t7092a'/><input type='checkbox' id='t7092a'/></span>" );
|
||||||
group.find( "input:checkbox" ).button();
|
group.find( "input:checkbox" ).button();
|
||||||
|
16
ui/jquery.ui.button.js
vendored
16
ui/jquery.ui.button.js
vendored
@ -95,19 +95,21 @@ $.widget( "ui.button", {
|
|||||||
}
|
}
|
||||||
$( this ).removeClass( hoverClass );
|
$( 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 ) {
|
.bind( "click.button", function( event ) {
|
||||||
if ( options.disabled ) {
|
if ( options.disabled ) {
|
||||||
event.stopImmediatePropagation();
|
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 ) {
|
if ( toggleButton ) {
|
||||||
this.element.bind( "change.button", function() {
|
this.element.bind( "change.button", function() {
|
||||||
if ( clickDragged ) {
|
if ( clickDragged ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user