js编程实现对于文本框击键行为的采集,采集同一按键按下与抬起的时间差和两个相邻按键按下的时间差,相邻按键是哪些,这两个数组可以放在不同的数组中,最后再放到一个数组中,保存在数组中,一定要反映出是哪些按键,在数组中一定要显性的体现按键的时间差,让人能够一目了然
时间: 2024-06-01 09:09:47 浏览: 10
var keyDownTime = {}; // 记录按键按下的时间
var keyUpTime = {}; // 记录按键抬起的时间
var keyDiffTime = {}; // 记录同一按键按下与抬起的时间差
var adjacentKeyTime = {}; // 记录相邻按键按下的时间差
var lastKeyDownTime = null; // 上一个按键按下的时间
// 监听文本框的按键事件,并记录时间
document.getElementById('input').addEventListener('keydown', function(event) {
var key = event.key; // 获取按键名称
if (!keyDownTime[key]) {
keyDownTime[key] = Date.now(); // 记录按键按下的时间
}
if (lastKeyDownTime) {
var diff = keyDownTime[key] - lastKeyDownTime; // 计算相邻按键的时间差
if (!adjacentKeyTime[key]) {
adjacentKeyTime[key] = [];
}
adjacentKeyTime[key].push(diff); // 记录相邻按键的时间差
}
lastKeyDownTime = keyDownTime[key]; // 更新上一个按键按下的时间
});
// 监听文本框的按键抬起事件,并记录时间
document.getElementById('input').addEventListener('keyup', function(event) {
var key = event.key; // 获取按键名称
keyUpTime[key] = Date.now(); // 记录按键抬起的时间
var diff = keyUpTime[key] - keyDownTime[key]; // 计算同一按键按下与抬起的时间差
keyDiffTime[key] = diff; // 记录同一按键按下与抬起的时间差
});
// 将记录的时间差保存在数组中,并显示在页面上
var result = [];
for (var key in keyDiffTime) {
result.push(key + '按键按下与抬起的时间差:' + keyDiffTime[key] + 'ms');
}
for (var key in adjacentKeyTime) {
var diffs = adjacentKeyTime[key];
var str = key + '与';
for (var i = 0; i < diffs.length; i++) {
str += key + '相邻按键' + (i + 1) + '的时间差:' + diffs[i] + 'ms';
if (i < diffs.length - 1) {
str += ',';
}
}
result.push(str);
}
document.getElementById('result').innerHTML = result.join('<br/>');
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)