Maison >interface Web >js tutoriel >jquery une implémentation de la méthode de fonction
Il existe une méthode dans
jquery : one, qui est utilisée pour dissocier automatiquement l' événement seulement après son exécution une fois. J'ai eu le vertige après avoir longuement regardé le code source, alors j'ai décidé d'en créer un moi-même. Après l'avoir longuement étudié, je l'ai simulé une fois en utilisant natif. Le nom que j'ai utilisé était autrefois.
La méthode originale est comme ceci :
function once(dom, event, callback) { // 这一步是为了避免修改形参 var temp = callback; dom.addEventListener(event, function() { if(temp) temp(); temp = null; }) }
Cette méthode est possible, mais il y a un problème, Traitement des événementsFonctionIl existe toujours, il n'exécute tout simplement rien et deviendra très volumineux avec le temps.
L'alternative est de se débloquer dans la fonction de gestionnaire, mais si vous utilisez la fonction anonyme, vous tomberez dans une terrible récursion infinie.
L'utilisation du stockage variable peut résoudre le problème.
function once(dom, event, callback) { var handle = function() { callback(); dom.removeEventListener(event, handle); } dom.addEventListener(event, handle) }
C'est un divertissement de loisir, j'espère qu'il pourra aider certaines personnes.
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!