2012-11-11 41 views
1

所以我还没输入:的jQuery的keydown /按键不工作的权利

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

,我需要获得输入的电流value,因为我打字,我面临的问题是,如果我键入pass和我做了一个console.log我将得到将是pas错过了最后一个字符;但我需要整个字符串pass

你可以在这里看到一个现场演示:http://jsfiddle.net/HjVHV/1/有什么问题?

回答

4

您应该使用keyup事件:

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

里面你得到你刚刚进入

4

你应该使用keyup

$('input').keyup(function(){... 
1

你可以跟上使用.keydown()如果你想,只需追加使用.fromCharCode()按下的字符,如下所示:

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

见工作​​

1

您应该使用的关键事件的方式。

这是基于你的JS提琴

$('input').keyup(function(){ 
    $('.output').html($('input').val()); 
});​ 
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()); 
    } 
}); 
}); 
改性下面的代码块