jquery - Live-Suche Ajax Anrufe als Benutzertypen, aber mit geringer Verzögerung?

8

Aufgrund der Umgebung möchte ich dies eher auf etwas Kleines und Prägnantes beschränken als auf ein Plugin, es sei denn, es handelt sich um eine Erweiterung, die neben dem anderen Jquery-Code eingefügt werden kann.

Ich habe diesen Code:

%Vor%

Ich möchte eine Verzögerung hinzufügen, so dass, wenn ein Benutzer warten muss (wie beim Stoppen der Eingabe) 0,5 Sekunden vor einem Aufruf ausgeführt wird.

Wenn also Buchstaben mit weniger als X Zeit zwischen aufeinanderfolgenden Tastenanschlägen eingegeben werden, tritt kein Ajax-Aufruf auf.

Gibt es eine kleine, prägnante Möglichkeit, dies mit Jquery zu tun?

    
Joshua Enfield 20.06.2011, 21:15
quelle

4 Antworten

9
%Vor%     
genesis 20.06.2011, 21:18
quelle
20

Legen Sie eine Zeitüberschreitung fest und löschen Sie sie bei jedem Tastendruck, bevor Sie eine neue anwenden:

%Vor%

Beispiel: Ссылка

    
Niklas 20.06.2011 21:23
quelle
3

Sie können das Autocomplete-Widget in jQueryUI verwenden, das über eine Verzögerungsoption verfügt:

  

Die Verzögerung in Millisekunden die Autocomplete wartet nach einem Tastendruck, um sich selbst zu aktivieren. Eine Nullverzögerung ist für lokale Daten sinnvoll (reaktionsschneller), kann jedoch eine große Last für entfernte Daten erzeugen, während sie weniger reaktionsfähig ist.

Ссылка

    
Nabab 20.06.2011 21:18
quelle
0

Scheint so, als ob diese Frage schon einmal gestellt wurde:

Wie verzögert man den .keyup () - Handler, bis der Benutzer die Eingabe beendet?

    
jk. 20.06.2011 21:36
quelle

Tags und Links