[英]How To Trigger Button Click on Enter in JavaScript
单击时的 addEventListener 正在工作,但在event.keypress或event.code上却没有。 我不明白为什么? 我尝试添加带有和不带有“”的键码,尝试删除默认值,并指示 object 长度(inputLength()> 0 && event.code“Enter”)等。仍然没有。 在现有线程中找不到解决方案((。
var button = document.getElementById("enter");
var input = document.getElementById("userinput");
var ul = document.querySelector("ul");
function inputLength() {
return input.value.length;
}
function createListElement() {
var li = document.createElement("li");
li.appendChild(document.createTextNode(input.value));
ul.appendChild(li);
input.value = "";
}
button.addEventListener("click", function() {
if (inputLength() > 0) {
createListElement();
}
})
button.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.key === "Enter") {
createListElement();
}
})
对于 addEventListener,您可能需要第三个参数 false 例如 button.addEventListener("click",function(){blah},false);
button.addEventListener("keyup", function(event) {
// Number 13 is the "Enter" key on the keyboard
if (event.keyCode === 13) {
// Cancel the default action, if needed
event.preventDefault();
//now do what you want to do.
createListElement();
}
});
我只想说,你应该更频繁地使用谷歌。 在 1 次谷歌搜索后,我能够找到答案。 无论如何希望这会有所帮助。
我找到了正确的方法:
function addListAfterKeyPress(event) {
if (inputLength() > 0 && event.key === "Enter") {
createListElement();
}
}
尝试将“keyup”更改为“keypress”:
button.addEventListener("keypress", function(event) {
event.preventDefault();
if (event.key === "Enter") {
createListElement();
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.