JavaScript:在调用函数的文本输入上按enter键
如何使它在文本输入中按enter键时调用函数?我试着用这个:JavaScript:在调用函数的文本输入上按enter键,javascript,html,css,Javascript,Html,Css,如何使它在文本输入中按enter键时调用函数?我试着用这个: <input type="text" onkeypress="clickPress()"> 但问题是我只想按enter键调用该函数,而不想按任何键。如何实现这一点?您要做的是检查事件的键是否为enter键: 在html中,添加事件参数 <input type="text" onkeypress="clickPress(event)"> Enter按钮的键代码为13,因此可以使用usingjquer
<input type="text" onkeypress="clickPress()">
但问题是我只想按enter键调用该函数,而不想按任何键。如何实现这一点?您要做的是检查事件的键是否为enter键: 在html中,添加事件参数
<input type="text" onkeypress="clickPress(event)">
Enter按钮的键代码为13,因此可以使用usingjquery
$("input").keypress(function(event) {
if (event.which == 13) {
alert("Enter was pressed");
}
});
或者,在纯javascript中:
<input type="text" onkeypress="clickPress(event)">
function clickPress(event) {
if (event.keyCode == 13) {
// do something
}
}
功能点击按下(事件){
如果(event.keyCode==13){
//做点什么
}
}
获取事件的keycode
并测试它是否输入
(keycode13
)
功能点击按键(e){
如果(event.keyCode==13){
//按下回车键
警报(“输入”);
}
}
有几种“更好”的方法来做你想做的事情,但为了简单起见,你可以这样做:
<input type="text" id="txt">
var myText = document.getElementById("txt");
myText.addEventListener("keyup", function(e) {
if (e.which === 13) {
//The keycode for enter key is 13
alert(e.target.value);
}
});
是的,这绝对是一个重复的问题。使用表单(提交事件只运行一次,而不是每次按键):
//将事件处理程序附加到表单元素
document.querySelector('.js form')?.addEventListener('submit',e=>{
e、 预防默认值();
警报(e.currentTarget.myText.value);
});代码>
如果您将输入内容包装在表单中,并给表单一个提交按钮,您可以收听提交事件,这是处理此类事件的更好方法。HTML必须更改为onkeypress=“clickPress(event)”
,才能工作。
无法工作,您需要将event
作为参数。但是如何使按下enter键和单击submit键都触发函数?@Daan和4castle是正确的,因此我调整了代码的这一部分。@Абббзззќ这实际上是一个单独的问题,但答案非常相似:add onclick=“doSomething()”让我的答案中的“//做点什么”使用doSomething函数
<input type="text" id="txt">
var myText = document.getElementById("txt");
myText.addEventListener("keyup", function(e) {
if (e.which === 13) {
//The keycode for enter key is 13
alert(e.target.value);
}
});