ATUALIZADO para esclarecimentos e exemplo
exemplos: http://jsfiddle.net/pxfunc/5kpeJ/
Método 1. inputEvento
Nos navegadores modernos, use o inputevento. 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 bindpor on:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Método 2. keyupEvento
Para navegadores mais antigos, use o keyupevento (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 keyupevento é acionado, mas também quando o A tecla "shift" é liberada, o keyupevento é 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 ( setIntervalou setTimeout)
Para contornar as limitações, keyupvocê pode definir um cronômetro para verificar periodicamente o valor da entrada para determinar uma alteração no valor. Você pode usar setIntervalou setTimeoutfazer 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 focuse blurevents para iniciar e parar o cronômetro para um campo de entrada específico