2010-04-11 18 views
6

estoy usando el siguiente código como parte de un original autocompletar para evitar el martilleo del servidor con cada golpe de teclado:clearTimeout que no trabajan en original autocompletar Javascript

var that = this; 

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

    clearTimeout(that.timer); 

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

}); 

Por desgracia, esto no soluciona los viejos. Todavía todos ejecutan.

¿Alguien sabe lo que me estoy perdiendo?

Gracias!

Respuesta

10

es probable que desee utilizar:

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

en lugar de:

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

De lo contrario, hacerTarea se llamará de inmediato.

+0

Sí, eso lo hizo. (Bonking head.) ¡Gracias! – Travis

Cuestiones relacionadas