如何计算两次按键之间的时间间隔事件

How to calculate time interval between two "keyup" events

本文关键字:时间 之间 事件 两次 何计算 计算      更新时间:2023-09-26

我需要用javascript创建一些基本的pos。我有一个像键盘一样工作的条形码扫描器。所以我想自动检测输入来自条形码,然后用代码创建一个报告。我认为一个好主意是计算打字速度的差异,因为扫描仪真的很快:

if there a dalay between keyup > 300ms = another scan
var speed = new Date().getTime() - lastkey;
    lastkey = (new Date()).getTime();
        console.log(speed);
    if(speed > 300) {
        //little delay for prevent computer overhead o_O
        var create_d = setTimeout(createchange,300)
        } else {
        //barcode sanning continue
        clearTimeout(create_d)
    }

使用纯JS:

document.body.onkeydown = function ()
{
 var time = this._time;
 var timestamp = new Date().getTime();
 if (time)
  console.log(timestamp - time);
 this._time = timestamp;
}

控制台将显示按键事件之间的差异(以毫秒为单位)