使用javascript捕获键盘笔划并在setTimeout后重放所有这些笔划

时间:2015-08-06 19:48:12

标签: javascript jquery

我有一个要求,我需要捕获用户按下的所有键,并在延迟后在浏览器中重放相同的键。 E.g>如果我在表单中有3个文本字段,则只启用field-1并专注于页面加载。 Field-1有一个fousout事件,它将在10秒后启用field-2和field-3。现在,用户无需查看屏幕即可执行以下操作。

  1. " XYZ"中的用户键在field-1。
  2. 然后立即按下" TAB"键。
  3. 键入" 123"
  4. 按" TAB"键
  5. 键入" XYZ123"
  6. 按" ENTER"键
  7. 这一切都在不到10秒的时间内完成。我已经为TAB和ENTER完成了evt.preventDefault(),因此它不会从文档中提交表单或选项卡。   - 如何在10秒后模拟上述按键?

    我希望结果与用户键入的顺序相同。即   - 增加价值" 123"到field-2   - 最重要的是调用浏览器TAB键功能!   - 添加然后添加值" XYZ123"到field-3等等......

    • 这是否可以使用javascript实现?例如存储所有按键事件并在10秒后逐个触发它们?

2 个答案:

答案 0 :(得分:2)

不可否认,我不确定我是否完全理解了您的问题,但如果您停止输入一秒钟,此Ctrl-C示例将输出您输入的内容:

KeyboardInterrupt
sys:1: ResourceWarning: unclosed file <_io.FileIO name=6 mode='rb'>
/.../lib/python3.4/importlib/_bootstrap.py:2150: ImportWarning: sys.meta_path is empty
sys:1: ResourceWarning: unclosed file <_io.FileIO name=7 mode='wb'>
sys:1: ResourceWarning: unclosed file <_io.BufferedWriter name='/dev/null'>
KeyboardInterrupt

如果没有别的,也许它会让你知道如何解决你的问题。

答案 1 :(得分:0)

也许这就是你要找的东西:jQuery Key Press Event

您想要将键击附加到数组然后执行任何操作:)

此问题也许有帮助 How to find out what character key is pressed?