@@ -16,7 +16,6 @@ $.widget("ui.flyoutmenu", {
16
16
17
17
_create : function ( ) {
18
18
var self = this ;
19
- this . active = this . element ;
20
19
this . activeItem = this . element . children ( "li" ) . first ( ) ;
21
20
// hide submenus and create indicator icons
22
21
this . element . find ( "ul" ) . addClass ( "ui-menu-flyout" ) . hide ( ) . prev ( "a" ) . prepend ( '<span class="ui-icon ui-icon-carat-1-e"></span>' ) ;
@@ -26,12 +25,13 @@ $.widget("ui.flyoutmenu", {
26
25
self . _select ( event ) ;
27
26
} ,
28
27
focus : function ( event , ui ) {
29
- self . active = ui . item . parent ( ) ;
30
28
self . activeItem = ui . item ;
29
+ ui . item . parent ( ) . focus ( ) ;
31
30
ui . item . parent ( ) . find ( "ul" ) . hide ( ) ;
32
31
var nested = $ ( ">ul" , ui . item ) ;
33
32
if ( nested . length && event . originalEvent && / ^ m o u s e / . test ( event . originalEvent . type ) ) {
34
33
self . _open ( nested ) ;
34
+ nested . focus ( ) ;
35
35
}
36
36
}
37
37
} ) . keydown ( function ( event ) {
@@ -60,7 +60,7 @@ $.widget("ui.flyoutmenu", {
60
60
_open : function ( submenu ) {
61
61
// TODO restrict to widget
62
62
//only one menu can have items open at a time.
63
- $ ( document ) . find ( ".ui-menu-flyout" ) . not ( submenu . parents ( ) ) . hide ( ) ;
63
+ $ ( document ) . find ( ".ui-menu-flyout" ) . not ( submenu . parents ( ) ) . hide ( ) . data ( "menu" ) . blur ( ) ;
64
64
65
65
var position = $ . extend ( { } , {
66
66
of : this . activeItem
@@ -93,16 +93,12 @@ $.widget("ui.flyoutmenu", {
93
93
}
94
94
} ,
95
95
activate : function ( event , item ) {
96
- if ( item ) {
97
- item . parent ( ) . data ( "menu" ) . widget ( ) . show ( ) ;
98
- item . parent ( ) . data ( "menu" ) . focus ( event , item ) ;
99
- }
96
+ var parent = item . parent ( ) ;
97
+ parent . data ( "menu" ) . focus ( event , item ) ;
100
98
this . activeItem = item ;
101
- this . active = item . parent ( "ul" )
102
- this . active . focus ( ) ;
99
+ parent . focus ( ) ;
103
100
} ,
104
101
show : function ( ) {
105
- this . active = this . element ;
106
102
this . element . show ( ) ;
107
103
} ,
108
104
hide : function ( ) {
0 commit comments