【发布时间】:2015-07-21 00:15:36
【问题描述】:
我有如下数据列表 -
<input id="name" list="allNames" />
<datalist id="allNames">
<option value="Adnan1"/>
<option value="Faizan2"/>
</datalist>
我想要的是,当一个项目被完全输入(例如当用户完全输入“Adnan1”时在输入框中说)或从列表中选择时,我想要一个事件。我尝试了几种方法,但到目前为止都没有帮助我。方法是 -
$("#name").change(function(){
console.log("change");
}
问题在于,该事件仅在输入失去焦点时触发,即当我单击屏幕中的某个位置时。
我也试过了
$("#name").bind('change', function () {
console.log('changed');
});
但是每次我输入时都会触发回调。我实际上需要在完全选择项目时进行 AJAX 调用。通过输入或从下拉列表中选择。
第一种方法不利于用户的视角,因为他必须进行额外的点击,第二种方法的缺点是每个字母都会触发一个事件。
我想要的只是用户做出选择或输入完整句子时的事件。有没有办法做到这一点?我错过的任何可以解决我的问题的事件。
【问题讨论】:
-
不是刻薄,但并非所有浏览器都支持 HTML5 Datalist
标签: javascript jquery html jquery-events