jQuery 按键事件



我正在处理两个文本框 - 使用 jQuery 我希望每次用户更新第一个框中的值时,第二个框中都会出现相同的值。

​<input type="text" class="pack"/ >
​<input type="text" class="pack2"/>​​​​​​​​​​​​​​​​​​​​​​​​
​$(".pack").keypress(function(){
    $(".pack2").val($(this).val());
});​​​​​

问题是,如果我在"pack"中输入一个字母,它不会立即出现在"pack2"中 - 我将不得不输入另一个字母,然后第一个字母将出现在 pack2 中

你可以检查小提琴 -http://jsfiddle.net/itamarperetz/jGXyA/

我可以这样包2立即更新吗?

任何建议都会有所帮助,提前致谢

尝试将keypress事件更改为keyup

​$(".pack").keyup(function() {
    $(".pack2").val($(this).val());
});​​​​​

js小提琴演示

这是因为在字符实际添加到输入字段之前触发keypress。尝试改用 keyup,该 在将字符添加到输入字段后触发。

看看这个工作答案。

您应该使用keyup而不是keypress

在此处查看 API。

使用键控事件

$(".pack").keyup(function(){
    $(".pack2").val($(".pack").val());
});​