onSelect(this.toggle, event => {
event.stopPropagation();
- console.log('cat', event);
this.show(event);
if (event instanceof KeyboardEvent) {
this.focusNext();
}
});
- // Arrow navigation
- this.container.addEventListener('keydown', event => {
+ // Keyboard navigation
+ const keyboardNavigation = event => {
if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {
this.focusNext();
event.preventDefault();
event.preventDefault();
} else if (event.key === 'Escape') {
this.hide();
+ this.toggle.focus();
event.stopPropagation();
}
- });
+ };
+ this.container.addEventListener('keydown', keyboardNavigation);
+ if (this.moveMenu) {
+ this.menu.addEventListener('keydown', keyboardNavigation);
+ }
// Hide menu on enter press or escape
this.menu.addEventListener('keydown ', event => {