File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -206,8 +206,17 @@ class ContextMenu implements IREWMenu.IContextMenu {
206
206
case 'ArrowRight' :
207
207
this . moveHoveredIndex ( 'RIGHT' ) ;
208
208
break ;
209
+ default :
210
+ return ; // Quit when this doesn't handle the key event.
211
+ }
212
+ } ;
213
+
214
+ onKeyUp = ( e : KeyboardEvent ) => {
215
+ e . preventDefault ( ) ;
216
+
217
+ switch ( e . key ) {
209
218
case 'Enter' :
210
- this . handleClickItem ( e ) ;
219
+ setTimeout ( ( ) => this . handleClickItem ( e ) ) ;
211
220
break ;
212
221
case 'Esc' : // IE/Edge specific value
213
222
case 'Escape' :
@@ -242,9 +251,11 @@ class ContextMenu implements IREWMenu.IContextMenu {
242
251
this . container . focus ( ) ;
243
252
document . body . addEventListener ( 'mousedown' , this . onMousedownBody ) ;
244
253
this . container . addEventListener ( 'keydown' , this . onKeyDown ) ;
254
+ this . container . addEventListener ( 'keyup' , this . onKeyUp ) ;
245
255
} else {
246
256
document . body . removeEventListener ( 'mousedown' , this . onMousedownBody ) ;
247
257
this . container . removeEventListener ( 'keydown' , this . onKeyDown ) ;
258
+ this . container . removeEventListener ( 'keyup' , this . onKeyUp ) ;
248
259
this . container . blur ( ) ;
249
260
this . container . remove ( ) ;
250
261
}
You can’t perform that action at this time.
0 commit comments