var oldValue;
$(document).on('keydown','.main', function (e) {
oldValue = $(this).val();
});
var newValue;
$(document).on('keyup', '.main',function (e) {
newValue = $(this).val();
foo(oldValue,newValue);
});
function foo(orig){
$('#table2').find('tbody tr').each(function (i) {
var $td2 = $(this).find('td input:text');
if (orig == $td2.val()) {
$td2.val(newValue);
}
});
}
这就是发生的情况,如果我在表 1 上缓慢键入更改“Apple”,“Apple”输入字段会发生变化,但如果我键入太快,我的代码将无法工作。
最佳答案
如果在原始输入字段和相应的字段之间添加一些关系会怎样:
<input type='text' class= 'main' value="Apple" rel="sec_apple"/>
和
<input type='text' value="Apple" class="sec_apple"/>
第二个输入。
那么你的 javascript 可能看起来像这样:
$(document).on('keyup', '.main',function (e) {
foo($(this));
});
function foo(orig){
rel = orig.attr('rel');
var sec = $('.' + rel);
sec.val(orig.val());
}
<强> Demo
关于javascript - 打字太快时不会触发按键事件的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28083528/