Maison > interface Web > js tutoriel > Comment puis-je retarder un gestionnaire de saisie pour éviter des requêtes AJAX excessives lors de la saisie par l'utilisateur ?

Comment puis-je retarder un gestionnaire de saisie pour éviter des requêtes AJAX excessives lors de la saisie par l'utilisateur ?

Mary-Kate Olsen
Libérer: 2024-12-14 20:44:11
original
524 Les gens l'ont consulté

How Can I Delay a Keyup Handler to Prevent Excessive AJAX Requests During User Typing?

Retarde le gestionnaire .keyup() pour l'arrêt de la saisie par l'utilisateur

Dans un champ de recherche, des recherches AJAX immédiates pour chaque pression sur une touche peuvent entraîner trafic excessif. Pour atténuer cela, il est souhaitable d'implémenter un délai, autorisant les recherches uniquement lorsque les utilisateurs cessent de taper.

Pour y parvenir, l'extrait de code fourni utilise la fonction delay(). Cette fonction exécute un rappel après une heure spécifiée ou lors de déclenchements rapides d'événements comme le redimensionnement. Voici comment elle peut être utilisée :

function delay(callback, ms) {
  var timer = 0;
  return function() {
    var context = this, args = arguments;
    clearTimeout(timer);
    timer = setTimeout(function () {
      callback.apply(context, args);
    }, ms || 0);
  };
}

// Example usage:

$('#input').keyup(delay(function (e) {
  console.log('Time elapsed!', this.value);
}, 500));
Copier après la connexion

Dans cet exemple, la fonction delay() est utilisée pour retarder l'exécution d'un journal de console lorsque les utilisateurs arrêtent de taper dans le champ #input pendant 500 millisecondes. Cela garantit que la recherche AJAX n'est effectuée qu'une fois que les utilisateurs ont terminé leur saisie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal