Je trouve que le JavaScript jQuery (v1.10 +) suivant fonctionne dans le cas d'un texte en cours d'achèvement automatique des champs de saisie de texte HTML. Cela a été testé pour fonctionner de manière fiable au moins dans Safari 6.1.1 sous Mac OS X 10.8.5, mais devrait fonctionner dans d'autres navigateurs conformes aussi:
$("input:text[id=text_field_id]").bind("focus change keyup blur", function(event) {
// handle text change here...
});
Il semblait l'ajout du gestionnaire d'événements blur
était la clé ce travail est effectué, bien que les autres gestionnaires d'événements aident à s'assurer que le gestionnaire d'événements est appelé chaque fois que le texte change, que ce soit en raison d'une modification ou d'une nouvelle entrée de la fonction d'auto-complétion du navigateur.
remplace simplement le code ci-dessus "input:text[id=text_field_id]"
avec le sélecteur pertinent pour votre champ de saisie de texte souhaité, ou si vous utilisez l'attribut id
pour faire référence à votre domaine, remplacez text_field_id
avec id
la valeur d'attribut de votre champ de texte.
mais il semble se déclencher à chaque fois que l'utilisateur appuie sur une touche. Est-ce que je fais quelque chose de mal ici ? – Preets
Non, malheureusement, comment cela fonctionne. Mais je viens de trouver cette ressource, qui semble résoudre le problème d'une manière agréable: http://jehiah.cz/archive/change-and-autocomplete –
Note: onpropertychange ne semble plus fonctionner de manière fiable dans IE9, au moins dans mes tests. –