【发布时间】:2021-03-19 02:20:33
【问题描述】:
我正在尝试制作用户下拉列表:
<datalist id="list">
<option value="User_01"></option>
<option value="User_02"></option>
<option value="User_03"></option>
</datalist>
<input type="text" list="list" oninput="alert(this.value)"/>
当我从列表中键入/选择一个选项时,会触发“oninput”事件。
但是,当我先在输入中写入完全相同的值,然后单击选项时,事件不会触发。
即使输入值与选项值相同,我有什么方法可以触发事件吗?
说清楚:
- 在输入字段中输入“User_01”。
- 选择“User_01”选项。
- 事件未触发。
【问题讨论】:
-
尝试过 keyup 或 keydown 事件?
-
@VisakhVijayan 起初,我尝试了 keyup 事件并触发了该事件,但我无法区分选项单击和键类型之间的区别。最后,在您发表评论后,我再次尝试并设法找到事件的“关键”属性,该属性可以判断用户是否正在输入而不是单击选项。谢谢
标签: javascript html html-input html-datalist