【问题标题】:Is there a way to catch all keyboard input in a browser?有没有办法在浏览器中捕获所有键盘输入?
【发布时间】:2010-02-25 14:42:30
【问题描述】:

有没有办法捕捉浏览器中的所有键盘输入?我猜它必须是 JavaScript。

我的问题是我有一个 USB 条形码扫描仪,计算机将其视为第二个键盘。我不希望用户必须单击输入框才能在其中输入条形码。但我也希望他们能够点击执行不会在文本框中显示该输入的操作的快捷键。 f1 - f12 键也可以以这种方式使用还是保留给浏览器本身?

【问题讨论】:

    标签: php javascript html web-applications


    【解决方案1】:

    keydown 将触发大多数浏览器中的大多数键(肯定超过keypress)(有些,例如 Safari 3.0,不会触发任何修饰键,例如 Shift)和最近浏览器中的所有键。不过,功能键的行为并不是一件值得依赖的好事情。

    以下页面是 JavaScript 中关键事件的绝佳参考:http://unixpapa.com/js/key.html

    【讨论】:

      【解决方案2】:

      您可以为document 对象处理keypress 事件,该对象将接收几乎所有的键盘输入。

      功能键的具体行为取决于浏览器。

      【讨论】:

        【解决方案3】:

        我以前做过。我用了一个计时器。在检测到第一次按键后,我给输入框焦点并启动计时器,然后如果在 100 毫秒内没有按下其他按键,我会提交表单。条码扫描器“打字”很快。

        您还可以截取字符代码来检测 F 键。

        【讨论】:

          猜你喜欢
          • 2011-10-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-08
          • 1970-01-01
          相关资源
          最近更新 更多