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

Comment supprimer les écouteurs d'événements ajoutés avec `bind()` en JavaScript ?

DDD
Libérer: 2024-10-25 13:07:30
original
368 Les gens l'ont consulté

How to Remove Event Listeners Added with `bind()` in JavaScript?

Suppression des écouteurs d'événements ajoutés avec Bind

En JavaScript, les écouteurs d'événements peuvent être ajoutés à l'aide de la méthode bind(). Cette méthode crée une nouvelle référence de fonction, permettant à l'écouteur d'événement de conserver l'accès au contexte souhaité. Cependant, lorsqu'il s'agit de supprimer de tels écouteurs d'événements, l'approche standard consiste à suivre manuellement chaque écouteur ajouté avec bind().

Suivi des références des écouteurs de liaison

Une méthode de supprimer les écouteurs d'événements ajoutés avec bind() consiste à garder une trace des références de fonction. Cela nécessite de conserver une variable pour stocker la fonction liée et de la transmettre explicitement lors de la suppression de l'écouteur.

<code class="js">// Store the bound function reference
var clickListenerBind = this.clickListener.bind(this);

// Add the event listener with the bound reference
this.myButton.addEventListener("click", clickListenerBind);

// Remove the event listener using the stored reference
this.myButton.removeEventListener("click", clickListenerBind);</code>
Copier après la connexion

Approche plus simple

Une alternative plus simple et plus directe au manuel le suivi des références d'écouteur implique d'attribuer directement la référence de fonction liée à une variable. Cela permet à l'écouteur d'être supprimé de la même manière que n'importe quel autre écouteur d'événement.

<code class="js">const listener = this.clickListener.bind(this);

this.myButton.addEventListener("click", listener);

this.myButton.removeEventListener("click", listener);</code>
Copier après la connexion

Cette approche élimine le besoin de variables de suivi supplémentaires et garantit une suppression cohérente des écouteurs d'événements, quelle que soit la manière dont elles ont été initialement ajoutées.

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!

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!