首页 > 解决方案 > 如何正确使用按键事件

问题描述

我让这段代码在鼠标点击事件中工作得很好。

var nodes = document.querySelectorAll('.myclass');

for(var i=0; i < nodes.length; i++){
    var node = nodes[i];
    node.addEventListener('click', function () {
        if(this.className == 'sample') {
            document.getElementById("massage").innerHTML="Hello";
        }       
    }, false);
}

现在,如果我只是替换'click''keypress'所有小写字母,则不会触发该事件。做这件事的正确方法是什么。

如果我想使用 Lambda,那么相同任务的正确方法是什么?

document.querySelectorAll('.myclass').addEventListener('mouseover', () => {
   document.addEventListener('keypress', ({ key }) => {      
        if(this.className == 'sample') {
            document.getElementById("massage").innerHTML="Hello";
        }
     });
});

标签: javascript

解决方案


MDN 文档说不要再使用keypress了。还说它不适用于所有按键。它也适用于按键,而不是鼠标点击。不一样的活动!


推荐阅读