Maison > interface Web > js tutoriel > le corps du texte

jquery une implémentation de la méthode de fonction

巴扎黑
Libérer: 2017-06-25 11:13:04
original
1815 Les gens l'ont consulté

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;
    })
}
Copier après la connexion


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)
}
Copier après la connexion

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!