select2文本框上的按键事件不起作用

Keypress event on select2 textbox is not working

本文关键字:事件 不起作用 文本 select2      更新时间:2023-09-26

我有一个select2下拉列表。

<select class="eselect2" type="text" id="qename" style="width: 390px;"> 
                    <option value="1">NY</option>
          <option value="2">MA</option>
          <option value="3">PA</option>
          <option value="4">CA</option>
                </select>

使用简单的javascript

$( document ).ready(function() {
    console.log( "ready!" );
    $(".eselect2").select2();
    $('.select2-search__field').on("keydown", function(e) {
                    console.log(e.keyCode); // nothing happens
            if (e.keyCode == 13) {
                }
       });
});

我有一个与输入字段上的按键相关联的事件。它不会被激发,因为每次单击select2中的下拉箭头时,文本框都会被销毁并重新创建。为了清楚起见,我已附上一把小提琴。http://jsfiddle.net/sizekumar/ckfjzkhj/

Really jQuery keypress事件不会在input.select2-search__field元素上激发。但纯js事件确实如此。这段代码适用于我

document.getElementsByClassName('select2-search__field')[0].onkeypress = function(evt) { console.log(evt); }
编辑:这并不能解决问题。

我不会称之为重复,但我认为这个答案直接适用:https://stackoverflow.com/a/30697173/5948237

$('.select2-input').on("keydown", function(e) {
        if (e.keyCode == 13) {
            }
});