
利用JavaScript解析扫码枪扫描结果的代码详解
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本文详细讲解了如何使用JavaScript来解析扫码枪输入的数据,并提供了实用的示例代码。适合前端开发者学习和参考。
在本段落中,我们将深入探讨如何使用JavaScript来获取扫码枪扫描得到的条形码信息,并提供一个实际的实现示例。这个过程涉及到监听键盘事件、识别扫码枪输入的特征以及处理条形码数据。
我们需要了解扫码枪是如何工作的。通常,扫码枪扫描条形码后会模拟键盘输入,将条形码数据以一串数字的形式快速连续地发送到焦点所在的输入框。因此,我们可以通过监听`onkeydown`事件来捕获这些输入。
以下是一个简单的JavaScript代码示例,展示了如何监听键盘事件并解析条形码数据:
```javascript
var keycode = ;
var lastTime = null, nextTime;
var lastCode = null, nextCode;
document.onkeydown = function(e) {
if (window.event) {
// IE
nextCode = e.keyCode;
} else if (e.which) {
// NetscapeFirefoxOpera
nextCode = e.which;
}
// 处理+键和-键
if(nextCode == 107 || nextCode == 187){
addNewGoodLine();
} else if(nextCode == 109 || nextCode == 189) {
$(.new_products:last).remove();
} else if ((nextCode >= 48 && nextCode <= 57) || (nextCode >= 96 && nextCode <= 105)) {
// 调整数字键盘的键码值
var codes = {
48: 48,
49: 49,
50: 50,
...
};
nextTime = new Date().getTime();
if(lastCode == null && lastTime == null) {
keycode += String.fromCharCode(nextCode);
} else if (lastCode != null && lastTime != null && nextTime - lastTime <= 30) {
keycode += String.fromCharCode(nextCode);
} else {
keycode = ;
lastCode = null;
lastTime = null;
}
lastCode = nextCode;
lastTime = nextTime;
} else if (nextCode == 13 && keycode != ) {
var code = $(.new_products:last .code).val();
if(code != ){
addNewGoodLine();
}
$(.new_products:last .code).val(keycode).blur();
keycode = ;
lastCode = null;
lastTime = null;
}
}
function addNewGoodLine() { // 生成新数据行
var html =
全部评论 (0)


