ATUALIZADO para esclarecimentos e exemplo
exemplos: http://jsfiddle.net/pxfunc/5kpeJ/
Método 1. input
Evento
Nos navegadores modernos, use o input
evento. Este evento será acionado quando o usuário estiver digitando em um campo de texto, colando, desfazendo, basicamente, sempre que o valor for alterado de um valor para outro.
No jQuery, faça isso assim
$('#someInput').bind('input', function() {
$(this).val() // get the current value of the input field.
});
a partir do jQuery 1.7, substitua bind
por on
:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Método 2. keyup
Evento
Para navegadores mais antigos, use o keyup
evento (isso será acionado assim que uma tecla do teclado for liberada), esse evento pode dar um tipo de falso positivo, porque quando "w" é liberado, o valor de entrada é alterado e o keyup
evento é acionado, mas também quando o A tecla "shift" é liberada, o keyup
evento é disparado, mas nenhuma alteração foi feita na entrada.). Além disso, esse método não é acionado se o usuário clicar e colar com o botão direito do mouse no menu de contexto:
$('#someInput').keyup(function() {
$(this).val() // get the current value of the input field.
});
Método 3. Temporizador ( setInterval
ou setTimeout
)
Para contornar as limitações, keyup
você pode definir um cronômetro para verificar periodicamente o valor da entrada para determinar uma alteração no valor. Você pode usar setInterval
ou setTimeout
fazer essa verificação do timer. Consulte a resposta marcada nesta pergunta do SO: evento de alteração da caixa de texto jQuery ou consulte o violino para obter um exemplo de trabalho usando focus
e blur
events para iniciar e parar o cronômetro para um campo de entrada específico