Maison  >  Article  >  interface Web  >  jQuery surveille le clavier pendant un certain temps sans input_jquery

jQuery surveille le clavier pendant un certain temps sans input_jquery

WBOY
WBOYoriginal
2016-05-16 15:04:191641parcourir

La surveillance d'aucune saisie pendant un certain temps peut être utilisée pour effectuer une saisie simple

La dernière fois, nous avons implémenté un problème consistant à envoyer une requête en arrière-plan pour obtenir des données lorsque la saisie simulée est terminée et à les afficher à la réception. Le critère de jugement principal est la définition de l'achèvement de la saisie.

C'est-à-dire : comment l'utilisateur compte-t-il la saisie comme terminée.

La norme que j'utilise est que lorsque le contenu d'une zone de texte ne change pas pendant 1 seconde, cela signifie que l'utilisateur n'a pas saisi dans 1 seconde, indiquant que l'utilisateur a terminé la saisie et attend les données de retour. . Alors, comment jQuery détermine-t-il s'il n'y a pas d'entrée dans un délai d'une seconde.

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

Principe

C'est un morceau de code tellement concis. Son principe peut être brièvement décrit ainsi :

Chaque fois que l'utilisateur appuie sur le clavier, l'heure actuelle est enregistrée, puis l'heure est jugée après 1 seconde.

Puisque lastTime est une variable globale, lastTime change toujours lorsque l'utilisateur tape, donc si vous utilisez lastTime-e.timeStamp après une seconde, seul le dernier e.timeStamp appuyé sera 0. .

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn