如何使keyup事件延迟处理

一般情况是每点击一个按键都会触发一次keyup事件,但是有些时候,这样并不能满足要求,需要的是输入完毕之后才执行某函数。(比如通过扫码枪扫描图书条形码进行图书信息的录入)

这里只能采取延时执行的方法来处理这种情况,具体代码如下:

<script type="text/javascript">
        $(document).ready(function() {
            $("#isbn").focus();     //让id为isbn的输入框获得焦点,然后直接扫码即可读取图书信息
            var last;
            $("#isbn").keyup(function(event){
                $this=$(this);
                last=event.timeStamp;
                //利用event的timeStamp来标记时间,这样每次的keyup事件都会修改last的值,注意last必需为全局变量
                setTimeout(function(){
                    if(last-event.timeStamp==0){
                      //如果时间差为0(也就是你停止输入1s之内都没有其它的keyup事件发生)则做你想要做的事
                        var isbn = $this.val();
                        $.ajax({
                            url: ctxAdmin + '/library/book/getBookInfoByISBN?isbn='+isbn,
                            type: "get",
                            dataType: "json",
                            success: function(data) {
                                if(data['code'] == 1 && data['obj'] != undefined){
                                    var obj=data['obj'];
                                    $("#name").val(obj.title);
                                    $("#subName").val(obj.subtitle);
                                    $("#writer").val(obj.authors);
                                    $("#publishHouse").val(obj.publisher);
                                    $("#publishDate").val(obj.pubdate);
                                    $("#translator").val(obj.translators);
                                    $("#decoration").val(obj.binding);
                                    $("#page").val(obj.pages);
                                    $("#picture").val(obj.image);
                                    CKEDITOR.instances['introduction'].setData(obj.summary);
                                }
                            }
                        });
                    }
                },1000);
            });
        });
    </script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值