当我使用keyup时,我从来没有得到时间戳,关于keydown + 500ms,即使我按下键更长。我正在使用
document.addEventListener('keyup', function(event) {
if (event.code == 'KeyZ' )
{
var d = new Date();var time = d.getTime();
}
});
这是因为当按下按键时,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