我想用JavaScript获取keyup和keydown事件,问题是在长按键盘时,这些事件会经常自动触发。我可以直接访问密钥来获取物理事件吗?
答案 0 :(得分:1)
释放密钥并执行默认操作后会触发密钥。当钥匙没有被压下时,Keydown会重复。
因此,您可以在第一次处理keydown事件时执行操作,而不是在触发keyup事件之前再次执行操作。
var action = true;
input.addEventListener('keydown', function () {
if (action === true) {
action = false;
// do your action here
}
});
input.addEventListener('keyup', function () {
action = true;
});