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

jquery one函数方法实现

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

jquery中有一个方法:one,用途是事件绑定只执行一次就自动解除绑定。源码看了很久头晕,决定自己搞一个。研究了很久,用原生的模拟了一次。我用的名字是once。

最初的方法是这样的:

function once(dom, event, callback) { // 这一步是为了避免修改形参 var temp = callback; dom.addEventListener(event, function() { if(temp) temp(); temp = null; }) }
Copier après la connexion


这种方法是可以的,但有个问题,事件处理函数依然存在,只是什么都不执行而已,久而久之会变得十分臃肿。

替代方法变成在处理函数里解除本身,但如果用匿名函数的话,会陷入可怕的无限递归

用变量存储的话就能解决了。

function once(dom, event, callback) { var handle = function() { callback(); dom.removeEventListener(event, handle); } dom.addEventListener(event, handle) }
Copier après la connexion

闲暇娱乐之作,希望能帮到一些人。

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
Recommandations populaires
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!