当我专注于输入字段并点击输入时,一切正常,但当我再次这样做时,重复两次或更多次,取决于我关注多少时间
$(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();
}
}
});
});
答案 0 :(得分:2)
因为每次有人聚焦场.changeValue
时你都会创建一个事件,所以第一次创建事件时,第二次创建另一个事件,等于第一个事件。
我建议您删除委托内容(不推荐使用btw)并直接绑定文档准备好的字段
jQuery(document).ready(function(){
$('.changeValue').on("keydown", function (event) .....
});
所以绑定完成jsut一次,而不是每次用户关注字段