Quand les événements de changement de textarea ne sont-ils pas déclenchés?

Je compte sur l’événement de changement déclenché chaque fois que le contenu de la zone de texte change. Selon la documentation JQuery , cela ne se déclenche que lorsque la zone de texte perd le focus. Dans quelles circonstances l’événement ne pourrait-il pas être déclenché? Est-ce que fermer une page, revenir en arrière, cliquer sur un lien, etc. cause toujours le flou de la zone de texte et la renvoie?

Ou, pour le dire autrement, est-il possible de laisser une page sans zone de texte perdue?

Avec différents tests, l’événement change n’est pas déclenché lorsque:

  • l’utilisateur clique sur n’importe quel bouton du navigateur (bouton Précédent, bouton Actualiser, Bouton d’accueil …) (Chrome, Firefox et Opera sur Linux, mais déclenché par un clic sur la barre d’adresse).
  • l’utilisateur utilise des raccourcis (f5, ctrl + u …) (testés sur Chrome + Firefox + Opera) .

Vous pouvez tester un exemple ici: http://jsfiddle.net/Atinux/S6TkP/

Je vous recommande donc d’utiliser en plus des événements keyUp et keyDown sur vos formulaires d’entrée et textarea.

Je voudrais aller à la définition W3c de l’événement.

[http://www.w3.org/TR/DOM-Level-2-Events/events.html][1]

L’événement de modification se produit lorsqu’un contrôle perd le focus entré et que sa valeur a été modifiée depuis l’obtention du focus. Cet événement est valable pour les éléments INPUT , SELECT et TEXTAREA .

  • Bulles: oui
  • Annulable: non
  • Information de contexte: Aucune

Chaque fois qu’il perd le focus, il devrait être viré.

Sur Safari et Chrome chaque fois que vous modifiez le texte, l’événement CHANGE est déclenché. Cependant, si vous supprimez tout le texte, l’événement CHANGE n’est plus déclenché. C’est un bug. C’est pourquoi les utilisateurs utilisent les événements KEYPRESS comme solution de contournement.

L’événement sera déclenché mais vous ne pourrez pas l’écouter de manière fiable. Les éléments de formulaire perdent leur attention lorsque la page est déchargée, mais il y a une situation critique lorsque le pair est déclenché et lorsque les auditeurs sont appelés. Si votre auditeur est appelé avant le déchargement de la page, vous pouvez recevoir le rappel, mais il est loin d’être garanti.

Si vous voulez pouvoir suivre de manière plus fiable les modifications apscopes à une zone de textarea il est préférable d’écouter l’événement de keypress .

Il est préférable d’utiliser l’événement keyUp / keyDown, car l’événement change ne se déclenche que lorsque textare / input a été modifié et que l’élément a perdu son focus.