ACTUALIZADO para aclaraciones y ejemplos
ejemplos: http://jsfiddle.net/pxfunc/5kpeJ/
Método 1. inputevento
En los navegadores modernos, use el inputevento. Este evento se disparará cuando el usuario esté escribiendo en un campo de texto, pegando, deshaciendo, básicamente en cualquier momento que el valor cambie de un valor a otro.
En jQuery haz eso así
$('#someInput').bind('input', function() {
$(this).val() // get the current value of the input field.
});
comenzando con jQuery 1.7, reemplace bindcon on:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Método 2. keyupevento
Para navegadores más antiguos, use el keyupevento (esto se disparará una vez que se haya soltado una tecla del teclado, este evento puede dar una especie de falso positivo porque cuando se libera "w" el valor de entrada cambia y el keyupevento se dispara, pero también cuando Se suelta la tecla "shift" cuando se keyupdispara el evento pero no se ha realizado ningún cambio en la entrada). Además, este método no se activa si el usuario hace clic derecho y pega desde el menú contextual:
$('#someInput').keyup(function() {
$(this).val() // get the current value of the input field.
});
Método 3. Temporizador ( setIntervalo setTimeout)
Para evitar las limitaciones keyup, puede configurar un temporizador para verificar periódicamente el valor de la entrada para determinar un cambio en el valor. Puede usar setIntervalo setTimeoutpara hacer esta verificación del temporizador. Vea la respuesta marcada en esta pregunta SO: evento de cambio de cuadro de texto jQuery o vea el violín para ver un ejemplo de trabajo usando focusy blureventos para iniciar y detener el temporizador para un campo de entrada específico