Warm tip: This article is reproduced from serverfault.com, please click

javascript-如何在按

(javascript - How can I execute a function on pressing the enter key in an field?)

发布于 2013-04-15 09:00:41

我有一个输入,我只是想添加一个事件侦听器,以便在我将输入焦点对准后按Enter来激活一个功能。如何使用纯JS执行此操作?

现在我有:

HTML:

Enter your wage:<input type="text" id="wage" value ="" size=20>
<button id="sub">Submit</button>

JavaScript:

var wage = document.getElementById("wage");
wage.addEventListener("change", validate);

var btn = document.getElementById("sub");
btn.addEventListener("click", validate);

因此,基本上,validate()当我单击或更改文本时,该功能会激活,但是我想通过按Enter来调用它。

Questioner
frrlod
Viewed
11
195 2021-04-07 23:15:53

你可以使用此:

var wage = document.getElementById("wage");
wage.addEventListener("keydown", function (e) {
    if (e.code === "Enter") {  //checks whether the pressed key is "Enter"
        validate(e);
    }
});

function validate(e) {
    var text = e.target.value;
    //validation of the input...
}

现场演示在这里