Problème :
Détecter lorsqu'un utilisateur termine de taper dans une zone de texte sans déclencher une action à chaque frappe. Cela vise à minimiser les requêtes AJAX inutiles tout en évitant d'avoir à appuyer sur le bouton Entrée.
Solution :
Pour déterminer quand un utilisateur a fini de taper, un minuteur Une approche peut être employée. Voici comment cela fonctionne avec jQuery :
Voici un exemple de code :
// Setup variables var typingTimer; //timer identifier var doneTypingInterval = 5000; //time in ms, 5 seconds for example var $input = $('#myInput'); // Keyup: Start Timer $input.on('keyup', function () { clearTimeout(typingTimer); typingTimer = setTimeout(doneTyping, doneTypingInterval); }); // Keydown: Clear Timer $input.on('keydown', function () { clearTimeout(typingTimer); }); // Typing Completion: Execute Action function doneTyping () { // Perform the intended action, e.g., AJAX request }
En mettant en œuvre cette approche, vous pouvez optimiser les performances des requêtes AJAX en réduisant leur fréquence sans avoir besoin d’une entrée supplémentaire de l’utilisateur.
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!