Javascript 选择2 close event fire后聚焦输入

Javascript 选择2 close event fire后聚焦输入,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我读了,因为问题离我的问题太近了,我在那里问了我的问题,但没有给出答案。我的问题是,我有一个由Select2和文本输入构成的选择框。我想要实现的是在选择2 closed之后,无论值是否更改,我的文本输入都会成为焦点 所以我做了一些逻辑上很好的事情如下: $('#select').select2({placeholder: 'City'}); $('#select') .on('select2-close', function (e) { $('#hey').focus(); }); 如您

我读了,因为问题离我的问题太近了,我在那里问了我的问题,但没有给出答案。我的问题是,我有一个由Select2和文本输入构成的选择框。我想要实现的是在选择2 closed之后,无论值是否更改,我的文本输入都会成为焦点

所以我做了一些逻辑上很好的事情如下:

$('#select').select2({placeholder: 'City'});
$('#select')
.on('select2-close', function (e) {
   $('#hey').focus();
});
如您所见,文本输入不接受焦点。在对Select2文档进行了一些挖掘并检查了文档中的事件部分之后,我意识到在关闭事件之后,会自动触发一个焦点事件。这意味着在您关闭Select2选择框后,它会自动聚焦。所以我把代码改成这样:

$('#select').select2({placeholder: 'City'});
$('#select')
.on('select2-close', function (e) {
       $('#select').blur();
})
.on('select2-blur', function(e) {
      $('#hey').focus();
});

而且效果很好。现在我想知道,我从第二顺序的事件理解是正确的,或者我错过了中间的东西。

< P>看看这里,这个问题已经有了答案:

elementid是您希望在选择2 closese后关注的id元素。
我刚刚添加了$elementid.focus;链接上的答案。

请看这里,这个问题已经有了答案:

elementid是您希望在选择2 closese后关注的id元素。 我刚刚添加了$elementid.focus;在链接中找到答案。

使用css:

html, body {
    height:100%
}
使用css:

html, body {
    height:100%
}

试试这个,因为它的工作:

$('#select2').on('select2:close', function (e)
{
   // your focus code for element
});

试试这个,因为它的工作:

$('#select2').on('select2:close', function (e)
{
   // your focus code for element
});

在较新版本的Select2中,事件名称现在是Select2:close colon而不是dash。在较新版本的Select2中,事件名称现在是Select2:close colon而不是dash。