Heim  >  Artikel  >  Web-Frontend  >  jQuery überwacht die Tastatur für einen bestimmten Zeitraum ohne input_jquery

jQuery überwacht die Tastatur für einen bestimmten Zeitraum ohne input_jquery

WBOY
WBOYOriginal
2016-05-16 15:04:191599Durchsuche

Überwachen Sie, dass über einen bestimmten Zeitraum hinweg keine Eingabe erfolgt, um einfache Eingaben abzuschließen

Beim letzten Mal haben wir das Problem implementiert, eine Anforderung an den Hintergrund zu senden, um Daten zu erhalten, wenn die simulierte Eingabe abgeschlossen ist, und sie an der Rezeption anzuzeigen. Das zentrale Beurteilungskriterium ist die Definition der Eingabevervollständigung.

Das heißt: Wie zählt der Benutzer die Eingabe als abgeschlossen?

Der von mir verwendete Standard lautet: Wenn sich der Inhalt eines Textfelds eine Sekunde lang nicht ändert, bedeutet dies, dass der Benutzer innerhalb einer Sekunde keine Eingabe vorgenommen hat, was darauf hinweist, dass der Benutzer die Eingabe abgeschlossen hat und auf die Rückgabedaten wartet . Wie stellt jQuery fest, ob innerhalb einer Sekunde keine Eingabe erfolgt?

<!DOCTYPE html>
<html>
<head>
<script src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.js"></script>
<script>
var lastTime;
$(function(){
$('#text1').keyup(function (e) {
lastTime = e.timeStamp;
setTimeout(function () {
if (lastTime - e.timeStamp == 0) {
alert("1秒内没再输入,可以发送查询");
}
}, 1000);
});
})
</script>
</head>
<body>
<input id="text1" type="text" value="" />
</body>
</html>

Prinzip

Das ist so ein prägnanter Code. Sein Prinzip lässt sich kurz wie folgt beschreiben:

Jedes Mal, wenn der Benutzer die Tastatur drückt, wird die aktuelle Zeit aufgezeichnet und die Zeit dann nach 1 Sekunde beurteilt.

Da lastTime eine globale Variable ist, ändert sich lastTime immer, wenn der Benutzer tippt. Wenn Sie also lastTime-e.timeStamp nach einer Sekunde verwenden, ist nur der zuletzt gedrückte e.timeStamp 0. .

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn