如何使用datalist对文本输入的keyup和项目选择执行操作?

时间:2017-08-08 17:33:18

标签: javascript jquery html

我确定这是一个非常简单的答案,我有一个绑定到数据列表的文本输入框。我可以使用jquery为每个键入的键触发一个事件("更改键盘"),但是我也想在从datalist下拉列表中选择一个项目时触发一个事件。

使用下面的代码,我需要点击该项目,然后按一个键激活。



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div1">
    <datalist id="mydata"><option value="select1" /><option value="select2" /></datalist>
    <input type="text" list="mydata" />
    </div>
    <script>
    $("#div1").delegate(":input", "change keyup", function (e) {
    console.log('fired');
    });
    </script>
&#13;
&#13;
&#13;

选择项目后会触发什么事件? Onclick似乎不是一个好选择,因为它会在任何点击时触发。

1 个答案:

答案 0 :(得分:1)

您的最佳活动是使用input活动,而不是changekeyup活动。

&#13;
&#13;
$("#div1").delegate(":input", "input", function (e) {
console.log('fired');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="div1">
<datalist id="mydata"><option value="select1" /><option value="select2" /></datalist>
<input type="text" list="mydata" />
</div>
&#13;
&#13;
&#13;