2012-03-15 9 views
2

を押した私はKeyPressイベントの後に実行された機能を持っているテキストエリアの値を取得します。一度キーが

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

私はそれが他にsimultanuously使用することができるように、すべてのキー入力後にテキストエリアの新しいテキストを返すようにしたいですJavaScript関数。

このスクリプトの問題点は、キーを押すと空の文字列が表示されることです。

ありがとうございます。また

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

、不要に:これは、キーがテキストエリアに追加された手段として

答えて

2

キー入力を使用割り当てられた値の前にちょうど解雇されます。あなたがevent.whichでクリックされたものを、ボタンを見つけると、それを扱うことができます

$('#txtarea').keypress(function(event) { 
    return false; // this will disable the new value assignment 
}); 

他のすべてのイベント(クリックなどを提出」...)のようなので、あなたはデフォルトの動作をキャンセルすることができますし、 『もの』 。

例:

<input id="txtarea" />​ 

$('#txtarea').keypress(function(e){ 
    var value = this.value; 
    alert(value); 
    alert(value + String.fromCharCode(e.which)) 
})​; 

JSFiddle DEMO

またkeyupイベントを使用することができますが、それはkeypress以外の意味と用法を持っています。
ご注意ください!

+0

あなたのおかげで、あなたの答えはどんな役に立ちましたか?しかし、私はキーアップを使用しました(そして何のためにそれを知っています...)+1)))) – SmootQ

+1

それは最高の解決策でした – SmootQ

4

てみますが、このコードを使用するキーの押下ではなく、keyUpイベントに注意することができます代わりにkeypress

+1

'keyup'は' keypress'以外の意味と用途を持っています。 – gdoron

+0

私の友人にタンクしておくと便利です。+1 – SmootQ

2

keyupを使用するには、のdocument.getElementByIdを行うだけでthis.value

http://jsfiddle.net/A8XxK/1

+1

'keyup'は' keypress'以外の意味と使い方を持っています。 – gdoron

+0

友人に感謝、+1 ...これは役に立ちました – SmootQ