2010-10-19 2 views
1

Quel est l'événement correct à utiliser avec la fonctionnalité de saisie semi-automatique? Je fais quelque chose de similaire à la saisie semi-automatique et j'ai essayé d'utiliser l'événement "keypress", cependant, quand je vais extraire le texte de l'entrée qui a déclenché l'événement pair, il n'a que le texte avant que l'événement ne soit déclenché. Devrais-je utiliser un événement différent, ou simplement ajouter le nouveau caractère au texte existant?Quel événement est utilisé pour la saisie semi-automatique dans jQuery

+1

Demandez-vous autre chose que le widget autocomplete de jquery-ui? http://jqueryui.com/demos/autocomplete/ –

+0

Hey Ken, j'écrivais quelque chose. Mais demandait comment jquery le fait parce que leur solution a été vérifiée. –

Répondre

2

Vous souhaitez utiliser le keyup event pour avoir la valeur actuelle de l'entrée.

Le jQuery UI autocomplete ne fait pas pas pour ce faire, mais pour une raison différente. Il y a un léger délai entre le moment où l'on appuie sur la touche et le moment où la recherche a lieu, donc la valeur est alors renseignée. It's actually using the keydown event pour une réponse plus rapide aux touches fléchées et autres.

2

A la touche, rien n'a été placé. Utilisez l'événement keyup, et vous aurez la valeur après avoir appuyé sur la touche.

0

mieux définir une fonction d'intervalle/délai d'attente sur le focus (enlever le flou) à:

  1. Vérifiez le nombre de ombles entré et changement de contenu
  2. Réalise la requête de saisie semi-automatique
  3. perfom auto complétion
+0

Pourquoi supprimer la fonction sur le flou? –

+0

@DutrowLLC pour éviter une fonction de temporisation/intervalle "background" supplémentaire qui ne fait rien d'autre que de manger "peu" de temps CPU. Ceci est également plus pratique pour le débogage si vous ne faites que ce que vous jugez nécessaire. – dvhh

+0

Vous voulez dire une fonction qui boucle en permanence? –

Questions connexes