Empêcher le spam de la fonction bouton à appeler

Comment puis-je empêcher le spam de bouton lors de l’appel d’une fonction? comme l’utilisateur ne peut appeler la fonction que toutes les 1 secondes sur le bouton.

Y a-t-il un moyen de le faire ?? parce que j’ai essayé setTimeout mais que ça ne marche pas, ça continue à spammer BTW j’ai utilisé Jquery.

voici mon code:

 function alertStatus() { $('#doneStatus').hide(); $('#loadingStatus').show(); } 

Vous pouvez verrouiller (empêcher l’exécution de la logique de la fonction) de la manière suivante:

 var locked = false; function alertStatus () { if (!locked) { locked = true; setTimeout(unlock, 1000); $('#doneStatus').hide(); $('#loadingStatus').show(); } } function unlock () { locked = false; } 

Vous pouvez également désactiver le bouton de sorte que l’utilisateur ne puisse pas cliquer dessus:

 function alertStatus () { $('#idbuttonUpdateStatus').attr('disabled', 'disabled'); setTimeout(enable, 1000); $('#doneStatus').hide(); $('#loadingStatus').show(); } function enable () { $('#idbuttonUpdateStatus').removeAttr('disabled'); } 

Vous ne pouvez pas empêcher l’appel d’une fonction dans votre page Web. Si les pirates veulent jouer avec le code de votre page, ils le peuvent.

Si vous souhaitez bloquer les appels fréquents d’une fonction ajax par un client particulier, vous devrez le faire sur le serveur à l’aide de techniques telles que la connexion client, la limitation de débit, etc.


Si vous souhaitez simplement empêcher un clic de souris normal d’appuyer plusieurs fois sur le bouton au cours d’une période donnée, c’est très simple. Vous ne désactivez le bouton que lorsque vous appuyez dessus et vous ne l’activez de nouveau que quelque temps plus tard.

Que diriez-vous de ce petit plug-in permettant à JQuery de réagir si j’ai raison: http://benalman.com/projects/jquery-throttle-debounce-plugin/