Ho utenti che fanno una chiamata ajax durante la digitazione. Il problema è che effettua la chiamata per ogni lettera viene digitato, così ho impostato il timeout come questo:Attendere la funzione fino a quando l'utente non smette di digitare
$(input).live('keyup', function(e){
setTimeout(function(){
var xx = $(input).val();
doSearch(xx);
}, 400);
});
Non attendere 400ms, ma poi esegue per ogni keyup. Come posso cambiarlo per far sì che la chiamata ajax sia "una sola volta" a circa 400 ms dall'ultima lettera digitata?
(io ho usato 'ritardo' in passato, ma che non funziona affatto con il mio script ...)
C'è già una soluzione fornita in un'altra domanda: https://stackoverflow.com/questions/4220126/run-javascript-function-when-user-finishes-typing-instead-of-on-key-up/16324620 # 16324620 –