在我的表单中,我添加了一个文本框($("#seltxt")
)和一个包含文本的div。当我选择div文本出现在文本框中时,此方法工作正常。现在,我将文本框文本复制到div中的#seltxt
中的按键事件中添加了按键功能。但是它少了一个角色。
示例:
当我单击div时,文本为“ manojgangwar”的div,“ manojgangwar”复制到#seltxt
。现在假设我在文本框中输入字符“ manojgangwar123”,然后在div中仅出现“ manojgangwar12”
下面是捕获keypress
事件的jQuery:
//function to set text to div
$("#seltxt").keypress( function(event) {
$('#' + objid).text($("input#seltxt").val());
});
在发生默认行为之前,按下键时会触发keypress事件。这允许脚本通过event.preventDefault()
方法取消默认行为(例如,填充输入字段)。
如果需要在输入值更改时触发的事件,请使用keyup
事件。
此外,由于$("input#selText")
指向自身,所以您也可以改用$(this).val()
。进一步的优化将包括使用普遍支持的this.value
。
$("#seltxt").keyup( function(event) {
$('#' + objid).text(this.value);
});
keydown
-按下键后立即触发一次。可用于防止发生第一个默认事件。keypress
-可能在按下键时多次触发。可用于防止默认行为(除非您定义了keydown
事件,否则仅触发一次keypress
,如果按住此键,则会发生默认行为)keyup
-释放键后触发。使用event.preventDefault()
不能防止通过键盘输入修改文本。正在工作...
$("#seltxt").live("keyup", function(event) {
$('#' + objid).text($(this).val());
});