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