Obj*_*ate 6 javascript jquery web-applications barcode dom-events
上下文:
我正在开发一个使用条形码扫描仪设备的 Web 应用程序。用户扫描条形码,我将它们重定向到相应的页面。
问题:
我使用的扫描设备仅在用户位于输入框元素中时才会触发“按键”事件
window.addEventListener("keypress", function (event) {
// do something with the event
}
Run Code Online (Sandbox Code Playgroud)
我希望能够从我的应用程序中的任何地方扫描条形码(即使我不在输入框中)。(是的,我知道上面的代码会为每个字符触发,我有一个基于计时器的算法来知道它是条形码阅读器还是打字的人。)。
到目前为止:
我看了这个,所以我尝试用更通用的选择器(窗口或文档)替换接受的解决方案的选择器,但没有运气。是否有其他事件更适合此任务?我愿意接受以另一种方式做的建议。
--编辑--:
经过更多研究,我遇到了这个。问题是我的观点可能没有任何输入。只是纯文本
谢谢
以下是为那些可能想知道答案的人提供的:
由于某种原因,以下代码适用于我测试过的所有扫描仪:
document.body.addEventListener("keydown", function(e) {
// your handler here
}, true)
Run Code Online (Sandbox Code Playgroud)
请注意,布尔值 true 也可以为 false。为什么它不适用于“window.addEventListener”和“document.addEventListener”?我不知道。
归档时间: |
|
查看次数: |
3328 次 |
最近记录: |