1

だから私は入力を持っています:

<input type="text" name="in" />

そして、入力時に現在valueの入力を取得する必要があります。直面する問題は、入力しpassて console.log を実行するとpas、最後の文字が失われることです。しかし、文字列全体が必要ですpass

ここでライブ デモを見ることができます: http://jsfiddle.net/HjVHV/1/問題は何ですか?

4

5 に答える 5

4

keyupイベントを使用する必要があります:

$('input[name=in]').keyup(function()
{
  // $(this).val()
});

内部では、入力した値を取得します

于 2012-11-11T18:25:50.303 に答える
4

あなたが使用する必要があります keyup

$('input').keyup(function(){...
于 2012-11-11T18:26:01.800 に答える
1

必要に応じて、次のように、.keydown()を使用して押された文字を追加するだけで、使い続けることができます。.fromCharCode()

$('input').keydown(function(e){
    $('.output').html($('input').val() + String.fromCharCode(e.which).toLowerCase());
});

作業デモを見る

于 2012-11-11T18:30:50.583 に答える
1

キーアップ イベントを使用する必要があります。

jsフィドルに基づくサンプルコードは次のとおりです

$('input').keyup(function(){
    $('.output').html($('input').val());
});​
于 2012-11-11T18:32:42.483 に答える
0

これはあなたが探しているものですか?

http://jsfiddle.net/qr59c/1/

次のコードブロックをhttp://forum.jquery.com/topic/can-change-handle-immediate-text-changes#14737000000967875からコピーして変更しました

$('#input').each(function() {
 // Save current value of element
 $(this).data('oldVal', $(this));

 // Look for changes in the value
 $(this).bind("propertychange keyup input paste", function(event){
    // If value has changed...
    if ($(this).data('oldVal') != $(this).val()) {
     // Updated stored value
     $(this).data('oldVal', $(this).val());

     // Do action
     $('.output').html($('#input').val());
    }
 });
});
于 2012-11-11T20:09:34.250 に答える