Hola , primero de todo decir que estoy aprendiendo y no tengo estudios ... soy autodidacta . Así que les ruego tengan paciencia.
En segundo lugar les cuento :
Estoy realizando mi propia web , en la cual he realizado un buscador con un evento onkeyup el cual dispara una función ajax que pasa mis datos a un php y me trae los resultados de vuelta.
Hasta ahí todo bién! El problema viene que estoy haciendo una petición por cada letra ... y me gustaría hacer una petición por cada keyup cada p.ejem 2 segundos desde que el usuario aprieta una tecla...
entonces hice esta función que utiliza los metodos setimeout y cleartimeout :
Código Javascript
:
Ver originalfunction buscador(){
var segundos=2000;
clearTimeout(temp);
var temp = setTimeout(function(){
var buscoInput = $('.busqueda').val();
$.ajax({
type: "POST",
dataType: 'json',
url: url,
data: { mi envio buscoInput php },
success: function(respuesta){mi respuesta php}
});
},segundos);
}
Teniendo en cuenta que tengo un evento onclick="busqueda()" .
Asi me funciona y hace lo que quiero , pero me envía una petición por cada pulsación ... la pregunta es.. como podría hacer para cancelar y re-setear el tiempo cuando la función vuelva a ser llamada?
Un saludo gracias!