按下键后获取textarea值

时间:2012-03-15 16:24:37

标签: javascript html

我在按键事件后执行了一个函数:

$("#txtarea").keypress(function(){
    alert(document.getElementById("txtarea").value);
});

我想在每次按键后返回textarea的新文本,以便可以在其他javascript函数中同时使用它。

此脚本的问题是,一旦按下某个键,该函数就会显示“”空字符串。

提前谢谢。

3 个答案:

答案 0 :(得分:4)

尝试使用keyup代替keypress

答案 1 :(得分:3)

您可以使用此代码,注意keyup而不是keypress,因为这意味着密钥已添加到textarea:

​$('#txtarea').keyup(function() {
    alert(this.value);
});​​​​​​​

此外,无需执行document.getElementById,只需使用this.value

http://jsfiddle.net/A8XxK/1

答案 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之外的其他含义和用法。
请注意!