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