React.JS:检测键盘输入是否来自条形码扫描器

时间:2018-06-20 07:50:54

标签: javascript jquery reactjs barcode-scanner

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

我正在移植一个以前使用jQuery的代码库,它使用https://github.com/escaleno-ltda/jQuery-Scanner-Detection这个库来检测条形码。

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

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

另一种方式:是否可以在React.JS中本地实现逻辑?它基本上可以检测用户输入到键盘的速度,如果速度足够快,那么我们将其视为条形码扫描。否则,我们将其视为常规按键。

1 个答案:

答案 0 :(得分:1)

查看该库,它尝试检查三件事

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

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