如何在按Enter键后调用onclick函数

How to call the onclick function after pressing Enter

本文关键字:调用 onclick 函数 Enter      更新时间:2023-09-26

我正在制作一个聊天web应用程序,为了发送消息,有一个input type="text"和一个input type="button",使用JavaScript中的一个函数,我设法通过添加onclick="sendMessage()"作为input button的属性来解决这个问题,但我需要点击它,但我希望它像任何聊天信使或应用程序一样工作,客户端写下一些东西并点击ENTER键,如果我使用<form onsubmit="sendMessage()">input type="submit",这可能会起作用,但页面会刷新,我该怎么做?

 <form onsubmit="sendMessage();return false">

这将阻止向服务器发送请求的默认操作。

如果您还想取消向服务器发布的输入按钮,并执行Js脚本。

<input type="text" id="txtSearch" onkeydown="if (event.keyCode == 13)
{document.getElementById('btnSearch').click(); return false;}"/>
<input type="button" id="btnSearch" value="Search" onclick="doSomething();"/>

您必须钩住文本框的onkeypress/up/down事件。这应该让你开始:在JavaScript 中输入按键事件

使用onkeydown()(或keyPress或keyUp,取决于语义)而不是点击-这将为您提供一个具有您想要的event.keyCode-13的事件-并且您可以使用AJAX请求(即XMLHttpRequest)轻松提交

简单代码:-原始Javascript,不需要JQuery:

<html>
<script>
function keyPress(e)
{
if (!e) e = window.event; // needed for cross browser compatibility
alert(e.keyCode); // You want 13 here , so 
 // if (e.keyCode == 13)
 //  etc..
// return true; or false, if you want to cancel event
}
</script>
<body>
<input type="text" onkeydown="keyPress()" size="20"/>xx
</body>
</html>