[英]How do I trigger on blur and run through all inputs in a row?
我在jQuery中遇到触发器问题。 它触发太多次。
我有一个表,每行11个输入。 当我更改行时,我需要脚本在我离开的行中的每个输入上触发一次模糊。
我的主事件处理程序如下所示:
$('#auto_insert').on('blur', 'input.autoupdate', function (event) {
event.stopPropagation();
event.preventDefault();
rid = $(this).closest('tr').attr('id');
row_validate(rid);
});
$('#auto_insert').on('focus', 'input.autoupdate', function (e) {
e.stopPropagation();
e.preventDefault();
newid = $(this).closest('tr').attr('id');
check();
});
函数row_validate
用于验证,并且需要遍历一行中的所有输入:
function row_validate(rid) {
$('#auto_insert #' + rid + ' td input.autoupdate').each(function () {
$(this).trigger('blur');
});
}
关于它为什么行不通的任何建议?
它主要做应做的事情,但它不断循环播放,我不确定为什么。
新信息:
似乎它的按摩效果使我的验证失去了控制。 有没有办法防止它冒泡过我的tr?
您的问题是, blur
事件的处理程序调用row_validate()
,该触发器为每个单元格触发一个blur
事件->无限循环。
您需要做的是将验证移到仅验证的新功能中。 然后从模糊处理程序(单个单元格更改)和row_validate()
函数(行更改)中调用此新函数。
validate函数本身不能触发任何事件!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.