Man*_*j G 2 javascript jquery keypress javascript-events
在我的表单中,我添加了一个文本框($("#seltxt"))和一个内部有文本的div.当我选择div文本进入文本框时,这工作正常.现在我在按键事件中的#seltxt中添加了功能键按压我将文本框文本复制到div.但它减少了一个字符.
例:
当我点击div时,div有文字"manojgangwar","manojgangwar"复制到#seltxt.现在假设我在文本框中写了字符"manojgangwar123"然后在div中它只会出现"manojgangwar12"
下面是捕获keypress事件的jQuery
//function to set text to div
$("#seltxt").keypress( function(event) {
$('#' + objid).text($("input#seltxt").val());
});
Run Code Online (Sandbox Code Playgroud)
在发生默认行为之前按下某个键时会触发按键事件.这允许脚本通过该event.preventDefault()方法取消默认行为(例如,填充输入字段).
keyup如果需要在输入值更改时触发的事件,请使用该事件.
此外,既然$("input#selText")指向自己,你也可以使用$(this).val().进一步的优化将包括使用this.value,这是普遍支持的.
$("#seltxt").keyup( function(event) {
$('#' + objid).text(this.value);
});
Run Code Online (Sandbox Code Playgroud)
keydown - 按下一个键后立即触发一次.可用于防止第一个默认事件.keypress - 按下按键时可能多次触发.可用于防止默认行为(keydown仅触发一次,如果按住键,将发生默认行为,除非您定义keypress事件)keyup - 释放钥匙后触发.使用event.preventDefault()无法阻止键盘输入修改文本.