Javascript jQuery函数中的输入和输出不相等

Javascript jQuery函数中的输入和输出不相等,javascript,jquery,event-handling,Javascript,Jquery,Event Handling,为什么这段文字总是落后一个字母 它不应该自动“复制”输入到段落的值,并且始终是相同的文本吗 我如何解决这个问题 $(函数(){ $(“输入”).keydown(函数(){ $(“p”).text($(this.val()); }); }); 在.keydown()上,该值尚未传播到表单元素。试试.keyup()。(还有.change(),只有在元素失去焦点时才会触发。)问题是,每次触发输入元素的事件keydown,值都没有改变 尝试使用jQuery: $('input').keyup(函数

为什么这段文字总是落后一个字母

它不应该自动“复制”输入到段落的值,并且始终是相同的文本吗

我如何解决这个问题

$(函数(){
$(“输入”).keydown(函数(){
$(“p”).text($(this.val());
});
});


.keydown()
上,该值尚未传播到表单元素。试试
.keyup()
。(还有
.change()
,只有在元素失去焦点时才会触发。)

问题是,每次触发输入元素的事件
keydown
,值都没有改变

尝试使用jQuery:

$('input').keyup(函数(){
$('p').text($(this.val());
});


如果您使用keyup事件,它将根据您的需要工作。我认为这是因为keydown事件在值填充到文本字段之前触发,因此无法使用。

我建议使用
input
事件,因为它在跟踪用户输入时更有效:

$('input').on('input', function() {
  $('p').text($(this).val());
});
对于多个
输入/段落
,您可以使用
.next()
函数以相关的
p
为目标:

 $('input').on('input', function() {
  $(this).next('p').text($(this).val());
});
代码:

$('input')。在('input',function()上{
$(this.next('p').text($(this.val());
});


新的价值是在
keyup
eventAh上创建的。对了,修改了我的答案,谢谢@Mohamed Yousef!还有一个问题。如果我有多个输入字段和多个段落,如何在jQuery中将一个输入字段分配给一个段落?