gpt4 book ai didi

Javascript 记录击键时间

转载 作者:行者123 更新时间:2023-11-29 22:24:46 25 4
gpt4 key购买 nike

我想以毫秒为单位记录每次击键之间的时间(只有一个键开始,'A' 键)。用户完成他的事情后,他可以提交并检查每次击键之间的时间。喜欢:

1: 5002:3003:4004:5005: 1006:507:508:25

我相信这可以通过 Javascript 实现,是吗?

最佳答案

当然:

var times = [];

// add an object with keycode and timestamp
$(document).keyup(function(evt) {
times.push({"timestamp":evt.timeStamp,
"keycode":evt.which})
});

// call this to get the string
function reportTimes() {
var reportString = "";
for(var i = 0; i < times.length - 1; ++i) {
reportString += (i+1) + ": " + (times[i+1].timestamp - times[i].timestamp) + " ";
}
return reportString; // add this somewhere or alert it
}

我添加了键码以防您以后需要它;对于您的确切问题陈述没有必要。


来自评论讨论的澄清:

for 循环最多只进行到 times.length - 2(因为 i 总是严格小于 times。 length - 1),所以不存在关于 times[i+1] 超出数组边界的问题。例如,如果您按下五次按键,因此有一个包含五个元素的 times 数组(索引从 04):

1st pass: times[1].timestamp - times[0].timestamp
2nd pass: times[2].timestamp - times[1].timestamp
3rd pass: times[3].timestamp - times[2].timestamp
4th pass: times[4].timestamp - times[3].timestamp

然后循环终止,因为将i设置为4会触发终止条件:

= i < times.length - 1
= 4 < 5 - 1
= 4 < 4
= false [i cannot be set to 4 by this loop]

因此,times[i+1] 始终是有效索引元素,因为 i 最多比最大索引小 1。

关于Javascript 记录击键时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com