2010-04-11 5 views
6

J'utilise le code suivant dans le cadre d'un script de saisie semi-automatique pour éviter marteler le serveur avec chaque combinaison de touches:clearTimeout ne fonctionne pas dans le script javascript autocomplete

var that = this; 

textInput.bind("keyup", function() { 

    clearTimeout(that.timer); 

    that.timer = setTimeout (that.doStuff(), 2000); 

}); 

Malheureusement, cela ne supprime pas les anciens compteurs. Ils exécutent tous encore.

Est-ce que quelqu'un sait ce que je manque?

Merci!

Répondre

10

Vous voulez probablement utiliser:

that.timer = setTimeout (that.doStuff, 2000); 

au lieu de:

that.timer = setTimeout (that.doStuff(), 2000); 

Sinon, doStuff sera appelée immédiatement.

+0

Ouais, ça l'a fait. (Tête de désossage.) Merci! – Travis

Questions connexes