AGGIORNATO per chiarimenti ed esempio
esempi: http://jsfiddle.net/pxfunc/5kpeJ/
Metodo 1. inputevento
Nei browser moderni utilizzare l' inputevento. Questo evento si attiva quando l'utente sta digitando in un campo di testo, incollando, annullando, praticamente ogni volta che il valore cambia da un valore all'altro.
In jQuery farlo in questo modo
$('#someInput').bind('input', function() {
$(this).val() // get the current value of the input field.
});
a partire da jQuery 1.7, sostituire bindcon on:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Metodo 2. keyupevento
Per i browser meno recenti utilizzare l' keyupevento (questo si attiverà una volta rilasciato un tasto sulla tastiera, questo evento può dare una sorta di falso positivo perché quando "w" viene rilasciato il valore di input viene modificato e l' keyupevento si attiva, ma anche quando il Il tasto "shift" viene rilasciato e l' keyupevento si attiva ma non è stata apportata alcuna modifica all'ingresso.). Inoltre, questo metodo non si attiva se l'utente fa clic con il pulsante destro del mouse e incolla dal menu di scelta rapida:
$('#someInput').keyup(function() {
$(this).val() // get the current value of the input field.
});
Metodo 3. Timer ( setIntervalo setTimeout)
Per aggirare i limiti keyupè possibile impostare un timer per controllare periodicamente il valore dell'input per determinare una variazione di valore. È possibile utilizzare setIntervalo setTimeoutper eseguire questo controllo del timer. Vedere la risposta contrassegnata su questa domanda SO: evento di modifica della casella di testo jQuery o vedere il violino per un esempio funzionante utilizzando focuse gli blureventi per avviare e arrestare il timer per un campo di input specifico