recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - À propos de la liaison et de la dissociation des événements natifs js

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

巴扎黑巴扎黑2741 Il y a quelques jours694

répondre à tous(2)je répondrai

  • 淡淡烟草味

    淡淡烟草味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);//解绑

    répondre
    0
  • 高洛峰

    高洛峰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

    répondre
    0
  • Annulerrépondre