如何通过带有Select2下拉菜单的“ KEY”标签专注于第一个选项

时间:2019-02-09 22:31:30

标签: jquery drop-down-menu jquery-select2 jquery-select2-4

我有一个带搜索框的select2下拉菜单。当前,在按Tab键并按ENTER键时,焦点位于搜索框上,这是select2中的默认行为,因为此代码:

container.on('open', function () {
  self.$search.attr('tabindex', 0);

  self.$search.focus();

  window.setTimeout(function () {
    self.$search.focus();
  }, 0);
});

container.on('close', function () {
  self.$search.attr('tabindex', -1);

  self.$search.val('');
});

container.on('focus', function () {
  if (container.isOpen()) {
    self.$search.focus();
  }
});

当前看起来像这样,并且在打开下拉列表后,焦点位于搜索框上:

http://oi67.tinypic.com/k2mn4k.jpg

但是,当我在下拉列表打开后按TAB键时,我要关注搜索结果列表中的第一个选项。我在页面上有用于侦听TAB键的代码,但是即使我将tabindex = 0放入选项标签中,它也不会侦听“ select2-results__option”。有可能实现这一目标吗?

    $(document).on('keyup', '.secondary-overlay-trigger', e => {
        e.stopPropagation();
        if (e.keyCode === KEY_TAB) {
            $('#root, #wrapper, .cel-Faq, .checkout-login-page').addClass('cel-container--has-focus');
        }
    });

0 个答案:

没有答案