我在页面上有几个html input
控件和一个搜索按钮。当用户不在输入控件内(即焦点不在输入控件内)并且按下回车键时,我想触发搜索按钮的点击事件。搜索按钮不是一个提交
按钮,并且它不在一个form
中。
<input type="text" id="input1" />
<input type="checkbox" id="input2" />
<input type="text" class="autocomplete" id="input3" />
<button type="button" id="btnSearch">Search</button>
目前我正在进行这个操作
$(document).keypress(function (event) {
if (event.keyCode === 13) {
$("#btnSearch").click();
}
})
然而,上述代码每次用户按回车键时都会触发点击事件。 我的某些输入控件是自定义自动完成控件。自动完成控件在用户开始键入内容时立即显示多个选项。然后,用户可以使用鼠标或按Enter键来选择选项。我不想在用户按回车键选择选项时触发搜索按钮的单击事件。
event.target
在所有浏览器中都可用吗? - LP13event.which
还是event.keyCode
?https://api.jquery.com/event.which/ - LP13keyCode
,所以当你在这里使用它时,它对我来说并不奇怪。我建议你坚持使用keyCode
。这里有更多关于它的信息:https://dev59.com/o2855IYBdhLWcg3wNhd1#4471635 - Travis J