【发布时间】:2021-01-08 07:24:57
【问题描述】:
我有一个适用于条形码扫描仪的应用程序。条形码扫描仪以外部键盘的方式与计算机通信,因此我在 DOM 上放置了一个 keydown 事件侦听器,以捕获来自条形码扫描仪的输入并在 dom 中标记相应的项目。现在我的问题是,每当读入条形码时,dom 似乎都会刷新并清除所有选择。有人可以帮忙吗?这是我的代码。顺便说一下,所有这些都是在电子中完成的
document.addEventListener("keydown", (e) => {
if (e.key === "" || e.key === "Control") {
return
}
buffer.push(e.key);
setTimeout(() => {
if (buffer.length > 0) {
buffer.forEach((char) => {
string = string + char
})
if (buffer.length >= 12) {
const tableRows = document.querySelector("tbody").querySelectorAll("tr");
tableRows.forEach((row) => {
const barcode = row.querySelector(".td_Barcode--hidden").innerText;
if (barcode === string) {
toggleRowCB(row)
}
})
} else {
console.log(buffer.length);
}
}
buffer = [];
string = "";
}, 500)
})
【问题讨论】:
-
这里没有什么会导致浏览器重新加载页面。请您提供您的 HTML 以及任何其他相关的 JavaScript 吗?
-
@JustinTaddei 这是在电子中完成的
标签: javascript dom reload barcode-scanner event-listener