ACTUALIZADO para aclaraciones y ejemplos
ejemplos: http://jsfiddle.net/pxfunc/5kpeJ/
Método 1. input
evento
En los navegadores modernos, use el input
evento. 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 bind
con on
:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Método 2. keyup
evento
Para navegadores más antiguos, use el keyup
evento (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 keyup
evento se dispara, pero también cuando Se suelta la tecla "shift" cuando se keyup
dispara 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 ( setInterval
o 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 setInterval
o setTimeout
para 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 focus
y blur
eventos para iniciar y detener el temporizador para un campo de entrada específico