按2键,释放1,再次产生其他键的键控

时间:2018-05-16 13:55:05

标签: javascript dom-events

我在键盘上按S,然后按D,然后释放S.为什么以下代码在我释放S后再次触发D的按键事件?有没有办法找出D的第二个下行事件是由另一个键的关键引起的?

function handler(event) {
  if (!event.repeat) console.log(event.code, event.type);
}

window.addEventListener('keydown', handler);
window.addEventListener('keyup', handler);

输出:

KeyS keydown - S pressed
KeyD keydown - D pressed
KeyS keyup   - S released
KeyD keydown - WHY???

奇怪的keydown事件只发生在 Chrome (我在Linux Mint上使用Chromium 66.0.3359.139),这在Firefox中不会发生。

这可能是一个错误,还是预期的行为?

0 个答案:

没有答案