2012-11-11 2 views
1

그래서 나는 천국을 작동하지 않는 : 나는 pass를 입력 한 경우의 jQuery를 keyDown /의 키 입력 바로

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

내가 입력 I 입력의 현재 value을 얻을 필요가, 내가 직면하고있는 문제는, 내가 console.log를 할 때 나는 마지막 문자가 누락 된 pas이 될 것이다. 하지만 전체 문자열이 필요합니다 pass

여기에서 라이브 데모를 볼 수 있습니다 : http://jsfiddle.net/HjVHV/1/ 무엇이 문제입니까? 방금

를 입력 한 값을 얻을 내부

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

이 가

답변

4

당신은 keyup 이벤트를 사용한다 원하는 경우 .fromCharCode()을 사용하여 누른 문자를 추가하십시오 (예 :

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

demo

4

당신이 keyup를 사용해야합니다 :

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

당신은 .keydown()를 사용하여 유지할 수

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()); 
    } 
}); 
}); 
에서 다음 코드 블록을 수정