Maison > Questions et réponses > le corps du texte
Téléchargez le code directement
ele.addEventListener('click', function(e) {
console.log(e)
})
Ici, je dois dissocier l'événement click d'ele dans certaines circonstances, mais je dois utiliser des paramètres supplémentaires tels que l'événement lors de la liaison
.Je sais que RemoveEventListener peut être indépendant, mais la fonction qu'ils souhaitent transmettre doit être la même fonction externe nommée, ce qui ne fonctionne pas si j'ai besoin de paramètres
Je sais aussi que lorsque vous avez uniquement besoin de lier un événement de clic, utilisez ele.click = function() {} puis utilisez ele.click = null pour le dissocier, ou utilisez les méthodes fournies par d'autres bibliothèques d'outils
.Mais maintenant je veux juste savoir s'il est possible d'utiliser RemoveEventListener pour l'annuler
Merci
淡淡烟草味2017-07-05 10:40:23
Ce n'est pas grave, tant que les fonctions de liaison et de déliaison pointent vers la même
function handler(e){
//操作
console.log(e)
}
ele.addEventListener('click', handler);//绑定
ele.removeEventListener('click', handler);//解绑
高洛峰2017-07-05 10:40:23
function bindFunc(e) {
console.log(e);
//用参数e来进行一些操作,干啥都行
}
this.cusBindFunc = bindFunc.bind(this, e); //bind一下,因为remove的时候用的func必须和绑定的时候一样
ele.addEventListener('click', this.cusBindFunc);//绑定事件
ele.removeEventListener('click', this.cusBindFunc);//解绑
De plus, pour des raisons de compatibilité, il peut être compatible avec attachEvent et detachEvent
Je ne sais pas si je comprends votre question @AugustEchoStone