jQuery Keypress事件

时间:2012-08-09 11:07:06

标签: jquery html css

我正在处理两个文本框 - 使用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/

我怎样才能立即更新pack2?

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

4 个答案:

答案 0 :(得分:2)

尝试将keypress事件更改为keyup

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

jsFiddle demo

答案 1 :(得分:1)

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

答案 2 :(得分:1)

查看此working answer

您应该使用keyup而不是keypress

查看API here

答案 3 :(得分:1)

使用keyup事件

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