当用户使用JavaScript从菜单中移出菜单时,关闭弹出菜单

时间:2019-06-16 12:40:00

标签: javascript

我的网站上有一个弹出菜单,当用户使用事件监听器单击(页面上的其他位置)时,该菜单关闭。我想做同样的事情,但是对于可访问的用户来说,当他们从弹出菜单中跳出标签时。在此方面的任何帮助将不胜感激。

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();
  }

1 个答案:

答案 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