所以我有一个输入:
<input type="text" name="in" />
我需要在输入时获取输入的当前value
,我面临的问题是,如果我输入pass
并且我执行console.log将会得到的是pas
错过了最后一个角色;但我需要整个字符串pass
你可以在这里看到现场演示:http://jsfiddle.net/HjVHV/1/有什么问题?
答案 0 :(得分:4)
您应该使用keyup
事件:
$('input[name=in]').keyup(function()
{
// $(this).val()
});
在里面,您可以获得刚刚输入的价值
答案 1 :(得分:4)
你应该使用keyup
:
$('input').keyup(function(){...
答案 2 :(得分:1)
如果需要,您可以继续使用.keydown()
,只需添加使用.fromCharCode()
按下的字符,如下所示:
$('input').keydown(function(e){
$('.output').html($('input').val() + String.fromCharCode(e.which).toLowerCase());
});
见工作demo
答案 3 :(得分:1)
您应该使用按键事件。
以下是基于你的js小提琴的示例代码
$('input').keyup(function(){
$('.output').html($('input').val());
});
答案 4 :(得分:0)
这是你在找什么?
我从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());
}
});
});