event.key未定义-代码块在Chrome 69中有效,但在IE或Firefox中不起作用

时间:2018-09-19 02:15:48

标签: javascript

我使用JavaScript创建了一个简单的键盘计数器。目的是将“ keypress”事件键名称作为HTML ID传递,以更新HTML输入字段。该代码检查密钥名称是否对应于适当的字段,并相应地进行更新。代码如下:

document.addEventListener('keypress', updateCount);

function updateCount() {

var cellArray = ["z","x","c","v","b","n","m","s","d","f","g"];
var keyName = event.key;
if (cellArray.includes(keyName)) {
    var countTotal = document.getElementById("diffTotal").value;
    if (countTotal != 100) {
        var cellCount = document.getElementById(keyName).value;
        cellCount = Number(cellCount);
        document.getElementById(keyName).style.backgroundColor = "lightpink";
        document.getElementById(keyName).value = cellCount +1;  
        countTotal = Number(countTotal);
        document.getElementById("diffTotal").value = countTotal +1;
        document.getElementById("diffTotal").style.backgroundColor = "lightblue";
    } else {
        var audio = new Audio('audio_file.mp3');
        audio.play();
    }

} else {
    return;
}
}

在Firefox和IE中进行测试时,我得到了ReferenceError:事件未在第6行定义(var keyName = event.key;)。我不确定为什么会这样,有人可以帮忙吗?该代码在Chrome中可以正常运行。

我是一个学生,如果这是一个简单的帖子,那么很久没有这样做了。

0 个答案:

没有答案