如何在单击数据列表选项列表时触发事件?

2023-11-27

我有一个数据列表,如下所示:

<datalist id="foodlist">
	
		<option value="one" ></option
		<option value="two" ></option>
		<option value="three" ></option>
	
</datalist>

<input type="text" list="foodlist" autocomplete=true id="inputItem"/>

我希望当用户使用 JavaScript 选择列表中的选项时触发一个事件。

如何实现?

onClick、onChange 似乎不起作用。


我知道这有点旧了,但我想我应该在某个地方记录它。如果您尝试检测下拉选择而不是单击本身的输入,则可以使用“input”事件并检查传递的事件对象的类型 - 剪切/粘贴/按键输入将传递“InputEvent”对象,而数据列表选择将传递通用“事件”对象。

var textbox = document.getElementById("inputItem");
textbox.addEventListener("input", function(e){
    
    var isInputEvent = (Object.prototype.toString.call(e).indexOf("InputEvent") > -1);
    
    if(!isInputEvent)
        alert("Selected: " + e.target.value);
    }, false);
<datalist id="foodlist">
	
		<option value="one" ></option>
		<option value="two" ></option>
		<option value="three" ></option>
	
</datalist>

<input type="text" list="foodlist" autocomplete=true id="inputItem"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在单击数据列表选项列表时触发事件? 的相关文章