按下后重复多次

时间:2015-11-26 16:14:13

标签: javascript jquery

当我专注于输入字段并点击输入时,一切正常,但当我再次这样做时,重复两次或更多次,取决于我关注多少时间

  $(document).delegate(".changeValue","focus one",function(){   

        $(this).on("keydown", function (event) {

            $(this).parent().find('.logisticError').remove();

            if(event.keyCode == 13){

                var amountVal = /^\d+(\.)\d{2}$/

                if (!$(this).val().match(amountVal)) {

                    $(this).parent().append("<span class='logisticError'>you have an error</span>");

                } else {

                    field = $(this).data('field');
                    updateOrder(field, $(this).val());
                    $(this).blur();

                }           
            }       
        });
    });

1 个答案:

答案 0 :(得分:2)

因为每次有人聚焦场.changeValue时你都会创建一个事件,所以第一次创建事件时,第二次创建另一个事件,等于第一个事件。

我建议您删除委托内容(不推荐使用btw)并直接绑定文档准备好的字段

jQuery(document).ready(function(){
    $('.changeValue').on("keydown", function (event) .....
});

所以绑定完成jsut一次,而不是每次用户关注字段