Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript记录/回放textfield中的击键_Javascript_Jquery_Html - Fatal编程技术网

使用Javascript记录/回放textfield中的击键

使用Javascript记录/回放textfield中的击键,javascript,jquery,html,Javascript,Jquery,Html,是否可以将用户的输入记录到HTML文本字段中,并在以后实时播放?我能想到的一种方法是捕获每个按键事件和时间增量(精确到几百毫秒),并将这些对存储在一起 你能想出一个更好/更有效的方法吗?由KeyDown handler返回的处理程序包含执行所需操作所需的所有信息 在firebug中尝试以下操作: $('#your-input').keydown( function(e) { console.log(e.timeStamp); console.log(e.

是否可以将用户的输入记录到HTML文本字段中,并在以后实时播放?我能想到的一种方法是捕获每个按键事件和时间增量(精确到几百毫秒),并将这些对存储在一起


你能想出一个更好/更有效的方法吗?

由KeyDown handler返回的处理程序包含执行所需操作所需的所有信息

在firebug中尝试以下操作:

$('#your-input').keydown(
    function(e) { 
        console.log(e.timeStamp);
        console.log(e.keyCode);
    }
);
您只需要存储来自处理程序(var e)的数据,该处理程序具有timeStamp属性和keyCode


然后,您可以设置一个计时器,设置时间差为to keydown以模拟它们。

您只关心文本字段的时间值,还是要记录和播放所有事件?例如,如果用户通过键入
Ctrl+A
突出显示某些文本,您是否希望在回放中显示该突出显示?Adam,所有事件都需要捕获并可视化。您会发现这非常困难。鲍里斯和阿努拉格的剧本是一个良好的开端;但是(正如Anurag提到的)当复杂的按键或点击发生时,它们会失败。在这些情况下,实现某种“有效”的“黑客”方法是定期(在计时器上)检索
textfield
,并在每次查询中
值发生变化时记录时间增量。这不会可视化所选元素(如我在前面的评论中提到的
Ctrl+A
),但至少不会像下面发布的答案那样容易中断。