通过简单的输入和数据列表组合,如下所示:

<input type="text" class="form-control dropdown-input" id="standardInput" name="standardInput" tabindex="7" list="listForStandardInput"/>
<datalist id="listForStandardInput"></datalist>


我想启用键盘导航和选择。当焦点位于输入元素内部时,我可以使用向上/向下箭头键进行选择,但是当我按Enter键时,将发生表单提交。

当我使用基于jQuery的JavaScript尝试阻止表单仍然提交时。

$(function () {
    'use strict';
    $('#standardInput').on('keypress', function (e) {
        if (e.keyCode === 13) {
            e.preventDefault();
        }
    });
});


无论如何,我可以允许使用Enter键来选择与输入元素绑定的数据列表中的元素吗?

最佳答案

尝试使用keyup()代替:

$("#standardInput").keyup(function (e) {
    if (e.keyCode == 13) {
        e.preventDefault();
    }
});

10-07 12:28