2

条码扫描仪和键盘。注意:我的条码扫描仪是 USB 类型的。 在此处输入图像描述

然后... 在此处输入图像描述

如果我在 auto.aspx 页面,必须使用什么功能来触发键盘?我试过这段代码但没有成功:

var barcode = document.getElementById('barcodenum');
barcode.addEventListener("keypress", function() { alert("Please use Barcode Scanner!"); document.getElementById('barcodenum').value = "";}, true);  
4

3 回答 3

3

恐怕你不能通过 JavaScript 做到这一点。如果您正在开发桌面应用程序,则可以完成。

编辑:JavaScript 中唯一的一种解决方案是测量按键事件之间的时间。条码扫描器比人类更快,所以如果你为两次按键之间的间隙设置 - 实验发明的 - 时间限制,你可能会解决这个问题。(这个想法的来源。)

于 2013-01-30T14:37:38.193 回答
2

正如上面@Robert Skarzycki 所指出的,我怀疑您是否可以使用网页与扫描仪集成。

关于按键拦截问题。

将此添加到页面的头部。

  <script type="text/javascript">

        window.onload = function() {              
            var barcode = document.getElementById('barcodenum');
            barcode.addEventListener("keyup", function() {
                alert("Please use Barcode Scanner!");
                document.getElementById('barcodenum').value = "";
            }, true);
        };

    </script>
于 2013-01-30T14:40:49.730 回答
0

试试这个代码。我假设您了解 Jquery。运行此代码并在聚焦网页的同时从键盘键入任何内容并按 Enter 键。如果这可行,条形码阅读器也可以这样做。配置您的条码阅读器以在代码阅读结束时传递回车键。jQuery 库

<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.4.js'></script>

jQuery

$(document).ready(function() {
    var barcode="";
$(document).keydown(function(e) {

    var code = (e.keyCode ? e.keyCode : e.which);
    if(code==13)// Enter key hit
    {
        alert(barcode);
    }
    else if(code==9)// Tab key hit
    {
        alert(barcode);
    }
    else
    {
        barcode=barcode+String.fromCharCode(code);
    }
});

});
于 2016-02-18T05:14:31.180 回答