Maison > interface Web > js tutoriel > Comment supprimer les écouteurs d'événements anonymes sans remplacer les éléments ?

Comment supprimer les écouteurs d'événements anonymes sans remplacer les éléments ?

Patricia Arquette
Libérer: 2024-10-18 16:44:29
original
924 Les gens l'ont consulté

How to Remove Anonymous Event Listeners Without Replacing Elements?

Suppression des écouteurs d'événements sans remplacement d'élément

En JavaScript, les écouteurs d'événements anonymes ajoutés à l'aide de la méthode addEventListener ne peuvent pas être directement supprimés sans connaissance de l'original référence de la fonction.

Attribution à une variable :

Une solution de contournement consiste à attribuer la fonction anonyme à une variable avant de l'ajouter à l'écouteur d'événement :

<code class="js">const myEventHandler = function() {
  // Your code here
};

element.addEventListener(event, myEventHandler, false);</code>
Copier après la connexion

Vous pouvez ensuite supprimer l'écouteur d'événement en supprimant la référence à la variable :

<code class="js">element.removeEventListener(event, myEventHandler);</code>
Copier après la connexion

Stockage dans un objet :

Une autre approche consiste à stocker gestionnaires d'événements anonymes dans un objet au sein de l'objet principal :

<code class="js">mainObject.eventHandlers = {
  [event]: function() {
    // Your code here
  }
};

element.addEventListener(event, mainObject.eventHandlers[event], false);</code>
Copier après la connexion

Vous pouvez supprimer l'écouteur d'événement en parcourant l'objet et en supprimant la propriété appropriée :

<code class="js">for (const event in mainObject.eventHandlers) {
  element.removeEventListener(event, mainObject.eventHandlers[event]);
}</code>
Copier après la connexion

Remarque : Il est important de se rappeler que la suppression des gestionnaires d'événements empêche uniquement leur déclenchement à l'avenir. Tous les événements déjà survenus exécuteront toujours leurs gestionnaires.

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
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal