如何捕捉回车键按下事件?

71

在我的HTML页面中,我有一个用于用户输入搜索关键词的文本框。当他们点击搜索按钮时,JavaScript函数将生成URL并在新窗口中运行。

当用户通过鼠标单击搜索按钮时,JavaScript函数能够正常工作,但是当用户按下“回车”键时没有反应。

function searching(){
    var keywordsStr = document.getElementById('keywords').value;
    var cmd ="http://XXX/advancedsearch_result.asp?language=ENG&+"+ encodeURI(keywordsStr) + "&x=11&y=4";
    window.location = cmd;
}
<form name="form1" method="get">
    <input name="keywords" type="text" id="keywords" size="50" >
    <input type="submit" name="btn_search" id="btn_search" value="Search" 
        onClick="javascript:searching(); return false;" onKeyPress="javascript:searching(); return false;">
    <input type="reset" name="btn_reset" id="btn_reset" value="Reset">
</form>

希望这能对你有所帮助。http://stackoverflow.com/questions/9653382/onkeypress-on-a-a-tag - Prasad Rajapaksha
JavaScript不应该在onClick或onKeyPress属性中使用。 - TryingToImprove
11个回答

-1

这是一个简单的ES-6风格的答案。用于捕获“回车”键按下并执行某些函数。

<input
    onPressEnter={e => (e.keyCode === 13) && someFunc()}
/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接