"Keypress" 事件无法正常工作,使用 jQuery & Select2

"Keypress" event is not working correctly, using jQuery & Select2

我有一个论坛,我在其中更改了选项卡进入的功能。当用户按下输入时,下一个输入字段获得焦点,并且 iImanage 以某种方式在 focusin 事件上打开 select2 select 框,因此 select 2 框打开。

但是,当我 select 值并在 selec2 select 框中按回车键时,它不会关闭并在回车键按下事件时保持打开状态,但它会关闭。当我将回车键事件更改为任何按键事件时 select2 关闭并且工作正常但我必须通过回车来完成。

我想要的:
当用户 select 在 select2 搜索框中输入值并按下回车键时,它会关闭并且焦点移动到下一个输入字段或任何字段。

到目前为止我做了什么。

$('.search-select').on("focusin",function(event) {
    $('#s2id_form-field-select-3').select2('open');
    event.preventDefault();  
});

使用输入键事件选择 2 无效

$('.select2-input').on("keypress", function(e) {
            if (e.keyCode == 13) {
                $("#select2-drop-mask").click();
                $('#name').focus();
                e.preventDefault();   
                }
       });

使用任何有效的按键事件选择 2

$('.select2-input').on("keypress", function(event) {
                $("#select2-drop-mask").click();
                $('#name').focus();
                event.preventDefault();         
});

标记

 <select id="form-field-select-3" name="register_id" class="form-control search-select" required="required">
   <option value="">&nbsp;</option>
   <? $query=$this->dba->get_dropdown('register',array('id','name'));
      foreach($query as $key=>$value):
   ?>
   <option value="<?=$key?>"><?=$value; ?></option>}
  <? endforeach;?>
</select>

第一次使用Select2,如有错误敬请见谅

我想你正在寻找 keydown:

$('.select2-input').on("keydown", function(e) {
            if (e.keyCode == 13) {
                $("#select2-drop-mask").click();
                $('#name').focus();
                e.preventDefault();   
                }
       });

他们是 little different。 在这种情况下,按键不会在您的字段中插入任​​何内容。

为我工作

$(document).on('keyup keydown', 'input.select2-search__field', function(e) {