如何阻止条形码值到TextBox但条码扫描器仍然可以使用..?

时间:2017-07-05 07:24:20

标签: jquery barcode

我要制作POS系统。当使用条形码扫描仪时,它会将代码写入任何已聚焦的文本框中。

***如何避免这种情况。 换句话说,我想从后面获取条形码输入。用户已经专注于窗口,而无需在聚焦元素上写入。

我使用了http://a.kabachnik.info/jquery-scannerdetection-tutorial.html 我的尝试如下:

$(document).on('focus click', 'input', function(e){

        var clickedEleID = $(this).attr('id');
        $('#'+clickedEleID).unbind();//prevent other eval function trigger
        $(document).scannerDetection({
                timeBeforeScanTest: 100, 
                startChar: [120], 
                endChar: [13], 
                avgTimeByChar: 30, 
                onComplete: function(barcode, qty){ 

                $('#item_barcode').val(barcode);//where the right place, barcode should be display

                $('#'+clickedEleID).val(null);//focused element will clear
                $('#'+clickedEleID).bind();//again bind the other eval
                }
        });

});

注意:条形码阅读器触发keyevent“13”。我的应用程序具有键事件“13”的功能,以向数据库添加帐单信息。所以我在这里添加

  

$( '#' + clickedEleID).unbind();

1 个答案:

答案 0 :(得分:0)

您可以使用选项参数来控制此行为。

如果您不希望该值出现在任何文本框

,请使用此选项
 ignoreIfFocusOn: 'input'

另一种方法是将类(类似'scannerOff'')添加到您想要忽略的所有输入字段,然后使用以下选项

ignoreIfFocusOn: '.scannerOff'