@@ -24,8 +24,8 @@ window.initFuncs = [];
24
24
}
25
25
// prevents menus that have been tabbed into from staying open
26
26
// when you hover over another menu
27
- e . target . focus ( ) ;
28
- e . target . blur ( ) ;
27
+ e . target . classList . remove ( 'forced-closed' ) ;
28
+ e . target . classList . add ( 'forced-open' ) ;
29
29
} ) ;
30
30
const toggleForcedOpen = e => {
31
31
const isForced = e . target . classList . contains ( 'forced-open' ) ;
@@ -43,16 +43,17 @@ window.initFuncs = [];
43
43
} else {
44
44
target . classList . remove ( 'forced-closed' ) ;
45
45
target . classList . add ( 'forced-open' ) ;
46
- target . focus ( ) ;
47
- target . addEventListener ( 'blur' , e =>
48
- target . classList . remove ( 'forced-open' )
49
- ) ;
50
46
target . parentNode . removeEventListener ( 'mouseout' , ( ) => {
51
47
target . classList . remove ( 'forced-closed' ) ;
52
48
} ) ;
53
49
}
50
+ e . target . focus ( ) ;
54
51
} ;
55
52
menuItemHover . addEventListener ( 'click' , toggleForcedOpen ) ;
53
+ menuItemHover . addEventListener ( 'focus' , e => {
54
+ e . target . classList . add ( 'forced-closed' ) ;
55
+ e . target . classList . remove ( 'forced-open' ) ;
56
+ } ) ;
56
57
} ) ;
57
58
58
59
// ensure desktop submenus are closed when esc is pressed
@@ -61,6 +62,7 @@ window.initFuncs = [];
61
62
header . addEventListener ( 'keyup' , e => {
62
63
if ( e . key === 'Escape' ) {
63
64
e . target . blur ( ) ;
65
+ e . target . focus ( ) ;
64
66
}
65
67
} ) ;
66
68
} ) ;
0 commit comments