javascript - À propos de la liaison et de la dissociation des événements natifs js
巴扎黑
巴扎黑 2017-07-05 10:38:23
0
2
654

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

巴扎黑
巴扎黑

répondre à tous(2)
淡淡烟草味

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);//解绑
小葫芦
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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal