2017-02-14 106 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