Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery的val()方法为按键事件返回的字符太少_Javascript_Jquery_Keypress_Jquery Events - Fatal编程技术网

Javascript jQuery的val()方法为按键事件返回的字符太少

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

在我的表单中,我添加了一个文本框$seltxt和一个包含文本的div。当我选择文本框中的div文本时,效果很好。现在,我在seltxt in key press事件中添加了函数keypress。我正在将文本框文本复制到div。但它少了一个字符

例如:

div有文本manojgangwar当我点击div时,manojgangwar复制到seltxt。现在假设我在textbox中写入字符manojgangwar123,然后在div中它只出现manojgangwar12

下面是捕获按键事件的jQuery:


在默认行为发生之前,按键时会触发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());
});