如何获得正确释放密钥的时间(JS'密钥不准确)?

问题描述 投票:0回答:1

当我使用keyup时,我从来没有得到时间戳,关于keydown + 500ms,即使我按下键更长。我正在使用

 document.addEventListener('keyup', function(event) {
 if (event.code == 'KeyZ' )
  {
    var d = new Date();var time = d.getTime();
  }
 });
javascript
1个回答
1
投票

这是因为当按下按键时,keydown将被多次触发。尝试在console.log事件处理程序中放置一个keydown,你会看到。

浏览器和操作系统之间的行为不一致。有关行为的详细列表,请查看http://unixpapa.com/js/key.html

按住某个键时每个keydown事件之间的时间间隔甚至可以在Windows计算机上配置,也可能在其他操作系统上配置。见https://answers.microsoft.com/en-us/windows/forum/windows_xp-performance/can-you-disable-the-keyboard-autorepeat-function/ce1b29bc-544b-e011-8dfc-68b599b31bf5

© www.soinside.com 2019 - 2024. All rights reserved.