Maison >interface Web >js tutoriel >Comment puis-je retarder la gestion des événements Keyup pour améliorer la réactivité de la recherche AJAX ?
Retarder l'exécution du gestionnaire de touches
Retarder l'exécution du gestionnaire .keyup() jusqu'à ce que l'utilisateur interrompe la saisie pendant une durée spécifiée peut améliorer la réactivité de votre candidature. Dans votre cas, votre objectif est d'éviter les recherches AJAX excessives lors de frappes rapides en mettant en œuvre un délai de 200 millisecondes.
La solution : utiliser une fonction personnalisée
Pour y parvenir , envisagez d'utiliser une fonction de délai personnalisée qui planifie l'exécution de votre gestionnaire après un délai d'attente spécifié. Vous pouvez définir une fonction nommée delay() comme suit :
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); }; }
Implémentation du délai dans votre champ de recherche
Pour implémenter le délai dans votre champ de recherche, utilisez la fonction delay() comme on le voit dans cet exemple :
$('#input').keyup(delay(function (e) { // Your AJAX search code here }, 200));
Dans ce code, le gestionnaire d'événements .keyup() est configuré pour exécuter la recherche AJAX logique après un délai de 200 millisecondes. Lorsque l'utilisateur tape dans cette fenêtre de 200 millisecondes, la recherche AJAX sera différée jusqu'à ce qu'il arrête la 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!