如何触发/模拟条码扫描事件?
How to trigger / simulate barcode scan event?
我想解决我们产品中的一个错误,但我家里没有任何 Zebra 扫描仪。我们使用 Vue Barcode Scanner plugin 来扫描条形码。
据我所知,典型的条形码扫描看起来像 ~10 次带有数字的击键,然后是 TAB。所以我试着写了一个像
这样的脚本
"12345678900 ".split('').forEach(c => document.dispatchEvent(new KeyboardEvent('keydown', {key: c})))
Aaaaa 不,这不会触发扫描事件。有什么不同的想法,如何模拟扫描事件?
您链接的库在其最新迭代中明确指出专门侦听 keypress
事件,而不是 keydown
。来自 README
:
Update
- ...
- Listener for keypress instead of keydown (0.2)
Methods
init
Init method use for add event listener (keypress) for the scanner.
我通过仔细阅读源代码也证实了这一事实:
index.js:74
在 keypress
事件上显式添加事件侦听器。
index.js:184-189
过滤所有 keydown
不是“控制字符”的事件
我想解决我们产品中的一个错误,但我家里没有任何 Zebra 扫描仪。我们使用 Vue Barcode Scanner plugin 来扫描条形码。 据我所知,典型的条形码扫描看起来像 ~10 次带有数字的击键,然后是 TAB。所以我试着写了一个像
这样的脚本"12345678900 ".split('').forEach(c => document.dispatchEvent(new KeyboardEvent('keydown', {key: c})))
Aaaaa 不,这不会触发扫描事件。有什么不同的想法,如何模拟扫描事件?
您链接的库在其最新迭代中明确指出专门侦听 keypress
事件,而不是 keydown
。来自 README
:
Update
- ...
- Listener for keypress instead of keydown (0.2)
Methods
init
Init method use for add event listener (keypress) for the scanner.
我通过仔细阅读源代码也证实了这一事实:
index.js:74
在keypress
事件上显式添加事件侦听器。index.js:184-189
过滤所有keydown
不是“控制字符”的事件