2011-02-10 11 views
4

jquery.keypressを使用して入力ボックスの内容を取得したいと回答しました hereです。しかし、それは私が必要とするように動作しません。jquery keypressすぐに値を取得する

HTMLは次のようになります。

$("#foo").keypress (function (e) { 
    alert ($(this).val()); 
}); 

だから今、私は入力ボックスがあります。

<input type="text" id="foo" size="15" maxlength="50"> 

jqueryのコードは次のようになります。私は "a"とタイプします。ハンドラが '#foo'の前の内容を取得しているので、私の警告は空白です。今私が 'b'とタイプすると、アラートは "ab"の代わりに "a"を持つようになります。このjsfiddle linkを見て、私の問題がどこにあるのかを知ることができます。

答えて

5

これはできません。 keypressイベントは、文字が入力ボックスに入力される前にトリガーされます。タイムアウトを設定するか、keyupイベントを使用してみてください。

+0

キーアップしたトリックです。驚くばかり! – gdanko

2

keypressの代わりにkeyupを使用してください。

関連する問題