AGGIORNATO per chiarimenti ed esempio
esempi: http://jsfiddle.net/pxfunc/5kpeJ/
Metodo 1. input
evento
Nei browser moderni utilizzare l' input
evento. 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 bind
con on
:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Metodo 2. keyup
evento
Per i browser meno recenti utilizzare l' keyup
evento (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' keyup
evento si attiva, ma anche quando il Il tasto "shift" viene rilasciato e l' keyup
evento 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 ( setInterval
o 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 setInterval
o setTimeout
per 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 focus
e gli blur
eventi per avviare e arrestare il timer per un campo di input specifico