2017-02-14 107 views
1

由于传统的前端,我得到这个哈克听众打开我的select2(v4.0)下拉聚焦选择元素。它工作得很好,除了当我按下打开的select2上的标签时,我的tabindex以某种方式回到了1。我怎样才能做到这一点,使我的下拉菜单关闭,并且当我在打开的下拉菜单中点击标签时,输入#4被聚焦?打开jquery select2下拉列表tabindex

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>

回答

0

我觉得应该试试这个:

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

文档上events