【发布时间】:2017-08-28 06:54:17
【问题描述】:
一个真正的角落案例。我有一个类似于这样的 HTML 表单:
<html>
<script>
function captureEnter(e) {
if (e.keyCode == 13) {
e.preventDefault();
}
}
</script>
<form>
<datalist id="some-data">
<option value="option 1">option 1</option>
<option value="option 2">option 2</option>
<option value="option 3">option 3</option>
<option value="option 4">option 4</option>
</datalist>
<input list="some-data" name="hello" onkeydown="captureEnter" />
</form>
</html>
你可以试试这个fiddle。
在 Firefox 上,有没有办法区分以下事件:
- 在聚焦文本字段时按 Enter;和
- 在 datalist 中选择选项时按 Enter?
如果用户正在输入文本并意外按下 Enter,我想阻止表单提交。我的代码有效,但现在它也阻止用户使用 Enter 来选择 datalist 选项。
Chrome 没有这个问题,但我也需要它才能在 Firefox 上工作。
【问题讨论】:
标签: javascript html firefox dom-events