Javascript jQuery的val()方法为按键事件返回的字符太少
在我的表单中,我添加了一个文本框$seltxt和一个包含文本的div。当我选择文本框中的div文本时,效果很好。现在,我在seltxt in key press事件中添加了函数keypress。我正在将文本框文本复制到div。但它少了一个字符 例如: div有文本manojgangwar当我点击div时,manojgangwar复制到seltxt。现在假设我在textbox中写入字符manojgangwar123,然后在div中它只出现manojgangwar12 下面是捕获按键事件的jQuery:Javascript jQuery的val()方法为按键事件返回的字符太少,javascript,jquery,keypress,jquery-events,Javascript,Jquery,Keypress,Jquery Events,在我的表单中,我添加了一个文本框$seltxt和一个包含文本的div。当我选择文本框中的div文本时,效果很好。现在,我在seltxt in key press事件中添加了函数keypress。我正在将文本框文本复制到div。但它少了一个字符 例如: div有文本manojgangwar当我点击div时,manojgangwar复制到seltxt。现在假设我在textbox中写入字符manojgangwar123,然后在div中它只出现manojgangwar12 下面是捕获按键事件的jQuer
在默认行为发生之前,按键时会触发keypress事件。这允许脚本取消默认行为,例如通过event.preventDefault方法填充输入字段 如果需要在输入值更改时触发的事件,请使用keyup事件 此外,由于$inputselText指向自身,因此也可以使用$this.val。进一步的优化将包括使用这个普遍支持的.value
$("#seltxt").keyup( function(event) {
$('#' + objid).text(this.value);
});
关于关键事件的最后说明
keydown-在按下某个键后立即触发一次。可用于防止第一个默认事件。
按键-在按键时可能多次触发。可用于防止默认行为keydown仅触发一次,如果按住键,则会发生默认行为,除非定义按键事件
keyup-释放钥匙后激发。使用event.preventDefault无法阻止键盘输入修改文本。
它正在工作
$("#seltxt").live("keyup", function(event) {
$('#' + objid).text($(this).val());
});
我们能得到所有的代码吗?@MarkSchultheiss:不,不会。@MarkSchultheiss按键事件是在按键之前触发的,所以按键事件肯定不起作用。请参阅我答案中的最后一个注释。非常感谢keyup为我工作,并感谢您提供有关您共享的关键事件的信息。@Rob W,感谢您添加澄清注释,使这是一个非常好的答案和+1。我在操作代码中没有看到任何event.preventDefault。
$("#seltxt").live("keyup", function(event) {
$('#' + objid).text($(this).val());
});