Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:在调用函数的文本输入上按enter键_Javascript_Html_Css - Fatal编程技术网

JavaScript:在调用函数的文本输入上按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

如何使它在文本输入中按enter键时调用函数?我试着用这个:

<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);
    }
});