jquery - 打开 jquery select2 下拉菜单破坏 tabindex

标签 jquery jquery-select2 jquery-select2-4

由于遗留的前端,我得到了这个 hacky 监听器,用于在聚焦于 select 元素时打开我的 select2 (v4.0) 下拉列表。它工作得很好,除了当我在打开的 select2 上按 Tab 时我的 tabindex 以某种方式设置回 1 之外。当我从打开的下拉列表中点击选项卡时,如何才能关闭下拉列表并聚焦 input#4?

var openedSelectEl;
// open select2 dropdown on focus
$(document).on('focus', 'select:enabled + span .select2-selection--single', function(e) {
    openedSelectEl = $(this).parent().parent().siblings('select');
    openedSelectEl.select2('open');
});

$("#3").select2({
  data: [{
    id: 'f00',
    text: 'f00'
  }, {
    id: 'b4r',
    text: 'b4r'
  }, {
    id: 'b4z',
    text: 'b4z'
  }]
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<div><input type="text" id="1" tabindex="1" /></div>
<div><input type="text" id="2" tabindex="2" /></div>
<div><select name="2"   id="3" tabindex="3"></select></div>
<div><input type="text" id="4" tabindex="4"/></div>

最佳答案

我认为应该尝试这个:

$(yourSelectSelectors).on("select2:close", function (e) {
    e.target.focus();
});`

关于 events 的文档

关于jquery - 打开 jquery select2 下拉菜单破坏 tabindex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42231250/

相关文章:

javascript - 使用 ajax 时,Select2(4.00) 在 onSelect 事件中返回未定义

javascript - 使用 jquery 替换的 Highcharts 工具提示格式化程序

jquery - X-editable 和 Select2 与远程数据不起作用

jquery - 如何按 Enter 键聚焦 select2?

javascript - 如果组标题匹配,则选择 2 自定义匹配器以保持选项打开

javascript - Ajax 模式下的 Jquery Select2 V4 在 IE9 中不起作用

javascript - 使用 jquery 更改 HTML 中标签内的文本值

php - 输出jquery UI slider 到mysql无法获取PHP文件来获取POST数据

php - 查询是来自 jquery 的空 mysql php 变量

javascript - 使用 Chosen 具有相同值的多个选择框