我想让用户能够使用tab键从输入更改为另一个。但是在select2上,tab键不起作用。如何在焦点上打开select2?
我试过了this solution,但它没有用。
$('.js-select').select2({
placeholder: "Select",
width: "100%"
}).one('select2-focus', select2Focus).on("select2-blur", function () {
$(this).one('select2-focus', select2Focus)
})
function select2Focus() {
var select2 = $(this).data('select2');
setTimeout(function() {
if (!select2.opened()) {
select2.open();
}
}, 0);
}
答案 0 :(得分:1)
我在链接的SO问题中尝试了很多方法,最后提出了以下对我有用的方法。我正在使用Select2 4.0.1,这是今天的最新版本。变量&#39;元素&#39;是您作为Select2的<select>
元素。
$.data(element).select2.on("focus", function (e) {
$(element).select2("open");
});
答案 1 :(得分:0)
我发现MR Lister和EriksonG的解决方案与select2 4.0.3(jsfiddle)完全不同,但稍作修改并清理了一点,效果非常好:
$('.js-select').each(function () {
var s = $(this);
s.data().select2.on('focus', function (e) {
s.select2('open');
});
});