MISE À JOUR pour clarification et exemple
exemples: http://jsfiddle.net/pxfunc/5kpeJ/
Méthode 1. input
événement
Dans les navigateurs modernes, utilisez l' input
événement. Cet événement se déclenche lorsque l'utilisateur tape dans un champ de texte, colle, annule, essentiellement à chaque fois que la valeur change d'une valeur à une autre.
Dans jQuery, faites ça comme ça
$('#someInput').bind('input', function() {
$(this).val() // get the current value of the input field.
});
à partir de jQuery 1.7, remplacez bind
par on
:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Méthode 2. keyup
événement
Pour les navigateurs plus anciens, utilisez l' keyup
événement (cela se déclenche une fois qu'une touche du clavier a été relâchée, cet événement peut donner une sorte de faux positif car lorsque "w" est relâché, la valeur d'entrée est modifiée et l' keyup
événement se déclenche, mais aussi lorsque le la touche "shift" est relâchée, l' keyup
événement se déclenche mais aucune modification n'a été apportée à l'entrée.). De plus, cette méthode ne se déclenche pas si l'utilisateur clique avec le bouton droit et colle dans le menu contextuel:
$('#someInput').keyup(function() {
$(this).val() // get the current value of the input field.
});
Méthode 3. Minuterie ( setInterval
ou setTimeout
)
Pour contourner les limites de keyup
vous pouvez définir une minuterie pour vérifier périodiquement la valeur de l'entrée afin de déterminer un changement de valeur. Vous pouvez utiliser setInterval
ou setTimeout
pour effectuer cette vérification de la minuterie. Voir la réponse marquée à cette question SO: événement de changement de zone de texte jQuery ou voir le violon pour un exemple de travail utilisant focus
et blur
événements pour démarrer et arrêter le chronomètre pour un champ de saisie spécifique