繁体   English   中英

带有 JQuery 事件的条码阅读器

[英]BarCode Reader with JQuery Events

我正在使用 asp.net 客户端页面,其中有一个文本框

<asp:TextBox class="form-control " autocomplete="off"   ID="txtScan" runat="server"></asp:TextBox>

使用 jquery 我试图在条形码阅读器读取值时获取值

$(document).ready(function () {
    $('#<%=txtScan.ClientID%>').on('change', function() {
      console.log( $('#<%=txtScan.ClientID%>').val())
 });
});

我面临的问题是,每个字符条目都会触发此更改事件,并且会持续触发

我希望在条形码阅读器完全读取值后获取输入值。 有了这个,我想使用 ajax 执行一些服务器端操作。 这应该在不失去输入重点的情况下完成。

当我使用 aspx 文本框 OnTextChanged 事件时,我正在实现这一目标。 但现在我想用 jquery/javascript 来做到这一点

我建议添加一个计时器,并在执行任何操作之前给用户一些时间进行交互,而不是直接触发任何操作。

例如你可以这样做:

var pTimerSelCntr = null;
$(document).ready(function () {
    $('#<%=txtScan.ClientID%>').on('change', function() {
        // clear the time out, so the function is not fired
        if (pTimerSelCntr)
            clearTimeout(pTimerSelCntr);

        // start new time out to fire the function
        //  and give some time to the user to interact again
        //  before you do any action
        pTimerSelCntr = setTimeout(function() { 
            console.log( $('#<%=txtScan.ClientID%>').val())  
        }, 800);      
 });
});

我面临的问题是,每个字符条目都会触发此更改事件,并且会持续触发

这是不正常的,也许还有其他东西与您的编辑器交互,但是使用上面的代码,您可能会避免冲突和时间竞赛问题,其中不止一个尝试在编辑器上思考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM