javascript - React.JS:检测键盘输入是否来自条形码扫描仪
问题描述
我正在解决一个问题,我们需要检测用户是否使用条形码扫描仪将某些内容扫描到输入框中,或者他们只是使用常规键盘输入值。根据每种情况,我们希望有不同的回调来处理用户输入。
我正在移植一个代码库,该代码库以前利用 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 is not defined(这是在依赖文件中,不是我的项目。我认为修改依赖项并不容易.)
另一种方式:是否可以在 React.JS 中本地实现逻辑?它主要检测用户输入键盘的速度,如果速度足够快,我们就认为它是条码扫描。否则,我们将其视为常规击键。
解决方案
看着那个图书馆,它试图检查三件事
- (可选)按下按钮时扫描仪发出的特定键码
- (可选)扫描仪在条形码末尾发出的字符键码
- 字符之间的时间
鉴于使用React
,您可以订阅 DOM 事件并实现相同的逻辑,第二个问题的答案是,是的,您可以创建一个 React 组件。
推荐阅读
- node.js - Docker:从容器创建后执行的命令中分离
- node.js - 我存储个人资料图片的路径在生产模式下无法访问
- django - 从分页中排除一种类型的帖子
- java - 让用户猜测一个随机数并循环,直到他们猜对为止
- typescript - 未找到修改后的第三方包的模块
- node.js - 使用请求模块 HTTP GET Firebase 函数 Node.js
- python - 如何将字符串与bs4对象进行比较
- fortran - 不同长度的Fortran子串比较问题
- entity-framework - 如何从现有的 sql server DB 生成模型类
- javascript - 如何使用画布从视频中解析图像数据而不将画布附加到页面?