Existe-t-il un moyen de détecter la valeur d’une zone de texte modifiée, que les utilisateurs la modifient explicitement ou qu’un code de script Java ait modifié la zone de texte? J’ai besoin de détecter ce changement.
Pour suivre les modifications apscopes par l’utilisateur, vous pouvez append un gestionnaire pour les appuis sur les touches:
$(selector).keypress(function() { // your code });
Mise à jour : en plus de surveiller les appuis sur les touches, vous pouvez utiliser la fonction de . Cela ne fonctionnera pas immédiatement pour les changements d’utilisateur (n’est appelé que lorsque l’entrée perd le focus), mais je pense qu’avec la change
pour surveiller les modifications via JavaScriptkeypress
, vous couvrez tous les cas:
$(selector).change(function() { // the same code }); setTimeout(function() { $(selector).val("changed"); }, 2000); // Will sortinggger the change
Edit: désolé, cela semblait fonctionner également pour JavaScript, mais je me suis trompé … Cette question pourra toutefois résoudre votre problème (testé avec setTimeout
, et il a été capable de détecter le changement).
J’ai posté un exemple dans jsFiddle. Avec ce nouveau plug-in watch
, vous n’avez plus besoin d’ keypress
ni de change
: cela fonctionnera pour la frappe, le copier / coller, JavaScript, etc.