select2文本框上的Keypress事件无效

时间:2016-07-20 21:53:01

标签: javascript jquery html keypress select2

我有一个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) {
                }
       });
});

我在输入字段上有一个与keypress相关的事件。它不会被触发,因为每次单击select2中的下拉箭头时,文本框都会被销毁并重新创建。 为了清楚起见,我附上了一个小提琴。 does not require an Elastic IP

2 个答案:

答案 0 :(得分:1)

真正的jQuery keypress事件并没有触发input.select2-search__field元素。但纯粹的js事件确实如此。这段代码适合我

document.getElementsByClassName('select2-search__field')[0].onkeypress = function(evt) { console.log(evt); }

答案 1 :(得分:0)

编辑:这不能解决问题。

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

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