我的网站上有一个弹出菜单,当用户使用事件监听器单击(页面上的其他位置)时,该菜单关闭。我想做同样的事情,但是对于可访问的用户来说,当他们从弹出菜单中跳出标签时。在此方面的任何帮助将不胜感激。
configure() {
window.addEventListener('resize', debounce(this.resize.bind(this), 300));
window.addEventListener('blur', () => once(window, 'focus', this.resize.bind(this)));
this.more_btn.addEventListener('click', () => {
if (this.more_list.classList.contains('hidden')) {
setTimeout(() => {
once(window, 'click', () => {
this.container.classList.remove('opened');
this.more_list.classList.add('hidden');
toggleAria(this.more_list, 'aria-expanded');
});
}, 100);
}
this.container.classList.toggle('opened');
this.more_list.classList.toggle('hidden');
toggleAria(this.more_list, 'aria-expanded');
});
this.dropdown.addEventListener('click', () => {
this.toggle();
});
this.resize();
}
答案 0 :(得分:0)
您可以将事件监听器绑定到键盘。
document.addEventListener('keyup', function(event) {
if (event.keyCode == 9) {
// close your menu
}
});
如您的问题所述,仅当用户“ tab-away”将侦听器绑定到菜单时,才关闭菜单。
document.getElementById("your_menu_selector").document.addEventListener('keyup', function(event) {...}
您的问题已经在这里得到答案:https://community.getpostman.com/t/interceptor-integration-for-postman-native-apps/5290