如何获得多种输入类型以使用Enter键? 这是我的代码。
//keypress enter
var input = document.getElementById("cost");
input.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
document.getElementById("calc").click();
}
});
如您所见,此代码一次只能提取1个元素。
答案 0 :(得分:3)
使用querySelectorAll
选择所有输入类型元素,然后应用循环将事件侦听器分配给它们:
var inputs = document.querySelectorAll("input");
for (var i = 0; i < inputs.length; i++) {
inputs[i].addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
document.getElementById("calc").click();
}
});
}
答案 1 :(得分:2)
您只需要使用 getElementsByClassName 选择所有输入元素,然后将事件侦听器应用于所有输入元素。 J
var input = document.getElementsByClassName("cost");
Array.from(input).forEach(function (element) {
element.addEventListener("keyup", function (event) {
if (event.keyCode === 13) {
event.preventDefault();
console.log("input changed")
}
});
});
<input class="cost"/>
<input class="cost"/>