我只是想用这个函数模拟实时打字:
$('#expenseAccordion').on('keypress', '.netAmount input', function() {
setTimeout(function() {
$(this).closest('.accordion-group').find('.amount input').val($(this).val());
}, 0);
});
这不起作用并产生这个奇怪的错误:
未捕获的类型错误:无法调用未定义的方法“toLowerCase”
有问题的 jQuery 行(l 4245):
hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
如果我从函数中删除所有 $(this) 并尝试这样的事情:
$('#expenseAccordion').on('keypress', '.netAmount input', function() {
setTimeout(function() {
$('.amount input').val(4);
}, 0);
});
它有效,但我真的需要获取事件发生的当前元素,因为我有多个输入。