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 original
function 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!