Comment dois-je attendre jusqu'à ce que l'utilisateur a fini d'écrire dans un texte d'entrée pour appeler une fonction?

Je suis de la conception d'un site web et je voudrais pouvoir appeler une fonction 1 seconde après la dernière saisie de l'utilisateur. J'ai essayé d'utiliser onKeyUp, mais il a attendu 1 seconde après la première frappe.

Personne ne sait comment serait-ce possible?

  • Vous pouvez utiliser un onchange événement qui se produit lorsque l'utilisateur quitte le terrain et se déplace vers le prochain champ dans le formulaire. Vous pouvez ensuite ajouter votre code d'attente là-bas et l'incendie qui a 1 seconde après les changements sur le terrain.
  • Il n'y a pas droit, 100% de façons de le faire. Le plus simple est d'utiliser le flou de l'événement de l'entrée. (d'autres moyens pourraient être d'attendre X secondes après l'utilisateur la saisie terminée).
  • J'irais avec le onblur événement qui se produit lorsqu'un objet perd le focus. Donc, elle fait en sorte que dès que l'utilisateur quitte le champ, cela signifie qu'il/elle est fait de la saisie de leur info.
  • Intéressante question - est-il une raison particulière pour expliquer pourquoi vous voulez le faire?
  • onchange() ne se produit pas lorsque l'utilisateur quitte le champ, ce serait onblur(). À partir du lien que vous avez fourni "L'événement onchange se produit lorsque le contenu d'un champ modifications".
  • Oui, mais le champ ne pas inscrire un changement à chaque frappe de touche. Si vous appuyez sur la touche entrée ou, plus communément, le champ perd le focus, puis le changement est ramassé et l'événement déclenché.
  • Fondamentalement, lorsque l'utilisateur a terminé de taper dans une zone de texte, il est présenté avec un nouveau. Depuis la zone de texte était la dernière, je ne pouvais pas utiliser onBlur() depuis que j'aurais dû attendre jusqu'à ce que l'accent a été mis sur une autre case.

InformationsquelleAutor Gab Royer | 2009-06-26