【问题标题】:React.JS: Detect if keyboard input is from a barcode scannerReact.JS:检测键盘输入是否来自条形码扫描仪
【发布时间】:2018-06-20 07:50:53
【问题描述】:

我正在解决一个问题,我们需要检测用户是否使用条形码扫描仪将某些内容扫描到输入框中,或者他们只是使用常规键盘输入了值。根据每个场景,我们希望有不同的回调来处理用户输入。

我正在移植一个代码库,该代码库以前利用 jQuery 使用此库检测条形码:https://github.com/escaleno-ltda/jQuery-Scanner-Detection

我现在正在用 React.JS 重写这段代码,但我被困在这里,因为 React.JS 上没有可用的库。

是否可以在我的 React.JS (create-react-app) 项目中导入该代码? 我做了 yarn install jQuery-Scanner-Detection 并尝试导入它,但我遇到了这个问题: ReferenceError:未定义 jQuery (这是在依赖文件中,不是我的项目。我认为修改依赖项并不容易。)

另一种方式:是否可以在 React.JS 中原生实现逻辑?它主要检测用户输入键盘的速度,如果速度足够快,我们就认为它是条码扫描。否则,我们将其视为常规击键。

【问题讨论】:

  • 你不能只对keyDown做出反应,然后是它的用户输入吗?

标签: javascript jquery reactjs barcode-scanner


【解决方案1】:

查看那个库,它会尝试检查三件事

  • (可选)按下按钮时扫描仪发出的特定键码
  • (可选)扫描仪在条码末尾发出的字符键码
  • 字符之间的时间间隔

鉴于React,您可以订阅 DOM 事件并实现相同的逻辑,第二个问题的答案是,是的,您可以创建一个 React 组件。

【讨论】:

  • 这是有道理的,但我不是 Javascript 方面的专家,无法完全理解它是如何工作的......有没有一种简单的方法来包装它而不需要太多努力?
  • 你要求的是让别人来做你得到报酬的工作。如果您想给我发消息,我们可以谈价格 - 我在英国从事项目工作。
猜你喜欢
  • 2011-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-08
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多