Mam żądanie ajax, które wykonuje za każdym razem, gdy użytkownik naciśnie przycisk (pisze tekst) w pewnym obszarze tekstowym. To by się dobrze sprawdziło (jest to funkcja filtrowania wyników wyszukiwania.), Ale nie byłoby dobrym pomysłem wykonanie filtru po każdym naciśnięciu klawisza. Więc myślałem o zrobieniu czegoś z opóźnieniem. Żądanie ajaxa wykonano by tylko wtedy, gdy minął co najmniej 1 sekundę od momentu naciśnięcia ostatniego przycisku. Jak mogę to osiągnąć?Poczekaj 1 sekundę przed wykonaniem żądania AJAX onkeyup
<textarea id="text" name="text" onkeyup="Search()"</textarea>
function Search()
{
$.ajax({...
...
}
Tak więc oczywiście będzie działać cały czas. Na przykład, jeśli piszę "cześć" w textarea szybko, to będzie działać 5 razy i nie ma sensu. Wystarczy uruchomić go tylko wtedy, gdy przestanę pisać na więcej niż 1 sekundę.
Może powinieneś ustawić 'timer' ze zwrotem' setTimeout' :) – Holt
@ Holt dziękuję! Pisanie zbyt szybko, potrzebujesz więcej opóźnień;) –
Dziękuję, to naprawdę rozwiązało mój problem! :) Przepraszamy za bycie początkującym, ale szybko się uczę. :) – egyeneskanyar