我在按键事件后执行了一个函数:
$("#txtarea").keypress(function(){
alert(document.getElementById("txtarea").value);
});
我想在每次按键后返回textarea的新文本,以便可以在其他javascript函数中同时使用它。
此脚本的问题是,一旦按下某个键,该函数就会显示“”空字符串。
提前谢谢。
答案 0 :(得分:4)
尝试使用keyup
代替keypress
答案 1 :(得分:3)
您可以使用此代码,注意keyup而不是keypress,因为这意味着密钥已添加到textarea:
$('#txtarea').keyup(function() {
alert(this.value);
});
此外,无需执行document.getElementById,只需使用this.value
答案 2 :(得分:2)
按键在指定的值之前被触发。 像所有其他事件一样(点击,提交等等......),你可以取消默认行为和“东西”
$('#txtarea').keypress(function(event) {
return false; // this will disable the new value assignment
});
你可以找出用event.which点击的按钮并使用它。
示例:
<input id="txtarea" />
$('#txtarea').keypress(function(e){
var value = this.value;
alert(value);
alert(value + String.fromCharCode(e.which))
});
<强> JSFiddle DEMO 强>
您也可以使用keyup
事件,但它具有除keypress
之外的其他含义和用法。
请注意!