看看下面的代码:
<html>
<head>
<script>
function onInput() { console.log("onInput"); }
function onChange() { console.log("onChange"); }
function onSelect() { console.log("onSelect"); }
function onPaste() { console.log("onPaste"); }
</script>
</head>
<body>
<input type="text" list="browsers" name="browser" oninput="onInput()" onchange="onChange()" onpaste="onPaste()">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firef">
<option value="Firefo">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
<input type="submit">
</body>
</html>
&#13;
我的问题是我无法确定用户是否点击了数据列表中的某个项目,或者通过单击列表或按Tab键选择它或手动输入整个字符串。是否可以通过绑定到datalist的输入标记来执行此操作?如果没有,有哪些替代方案?顺便说一下,首选纯JavaScript的解决方案。