La valeur de suivi / observation de la zone de texte a été modifiée

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 change pour surveiller les modifications via JavaScript . 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 keypress , 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.