File tree Expand file tree Collapse file tree 2 files changed +14
-7
lines changed Expand file tree Collapse file tree 2 files changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -144,10 +144,11 @@ test( "{ collapsible: true }", function() {
144
144
} ) ;
145
145
146
146
test ( "disabled" , function ( ) {
147
- expect ( 22 ) ;
147
+ expect ( 23 ) ;
148
148
149
149
// fully enabled by default
150
- var element = $ ( "#tabs1" ) . tabs ( ) ;
150
+ var event ,
151
+ element = $ ( "#tabs1" ) . tabs ( ) ;
151
152
disabled ( element , false ) ;
152
153
153
154
ok ( ! element . tabs ( "widget" ) . hasClass ( "ui-state-disabled" ) , "after: wrapper doesn't have ui-state-disabled class" ) ;
@@ -178,6 +179,10 @@ test( "disabled", function() {
178
179
ok ( ! element . tabs ( "widget" ) . hasClass ( "ui-tabs-disabled" ) , "after: wrapper doesn't have ui-tabs-disabled class" ) ;
179
180
ok ( ! element . tabs ( "widget" ) . attr ( "aria-disabled" ) , "after: wrapper doesn't have aria-disabled attr" ) ;
180
181
182
+ event = $ . Event ( "click" ) ;
183
+ element . find ( ".ui-tabs-anchor" ) . eq ( 0 ) . trigger ( event ) ;
184
+ ok ( event . isDefaultPrevented ( ) , "click is prevented for disabled tab" ) ;
185
+
181
186
// enable all tabs
182
187
element . tabs ( "option" , "disabled" , [ ] ) ;
183
188
disabled ( element , false ) ;
Original file line number Diff line number Diff line change @@ -477,18 +477,20 @@ $.widget( "ui.tabs", {
477
477
} ,
478
478
479
479
_setupEvents : function ( event ) {
480
- var events = {
481
- click : function ( event ) {
482
- event . preventDefault ( ) ;
483
- }
484
- } ;
480
+ var events = { } ;
485
481
if ( event ) {
486
482
$ . each ( event . split ( " " ) , function ( index , eventName ) {
487
483
events [ eventName ] = "_eventHandler" ;
488
484
} ) ;
489
485
}
490
486
491
487
this . _off ( this . anchors . add ( this . tabs ) . add ( this . panels ) ) ;
488
+ // Always prevent the default action, even when disabled
489
+ this . _on ( true , this . anchors , {
490
+ click : function ( event ) {
491
+ event . preventDefault ( ) ;
492
+ }
493
+ } ) ;
492
494
this . _on ( this . anchors , events ) ;
493
495
this . _on ( this . tabs , { keydown : "_tabKeydown" } ) ;
494
496
this . _on ( this . panels , { keydown : "_panelKeydown" } ) ;
You can’t perform that action at this time.
0 commit comments