我有一个事件监听器,所以对于某些键,它会做一些不同的事情,依此类推,首先,如果不起作用,按“-”不会触发写入的命令,但其他两个可以完美地工作! 第二个输入 Enter 后立即提交,第三个拒绝除数字之外的任何内容。
第一个可能有什么问题?
document.querySelector(".header__input").addEventListener("keypress", function (evt) {
if (evt.keyCode === 109 || evt.which === 109 || evt.keyCode === 189 || evt.which === 189){
operation = "-";
alert("sucecss")
}
else if (evt.keyCode === 13 || evt.which === 13){
starter();
}
else if (evt.which < 48 || evt.which > 57)
{
evt.preventDefault();
}
});
最佳答案
我不确定为什么你在减法符号上遇到问题。但是,我应该指出按键已被弃用。 Mozilla docs
我建议使用 keydown。像这样:
var x = document;
x.addEventListener('keydown', function (evt) {
if (evt.keyCode === 109 || evt.which === 109 || evt.keyCode === 189 || evt.which === 189) {
operation = "-";
alert("sucecss")
}
else if (evt.keyCode === 13 || evt.which === 13) {
starter();
}
else if (evt.which < 48 || evt.which > 57) {
evt.preventDefault();
}
})
关于javascript - 事件监听器按键问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60494275/