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

Existe-t-il un moyen de supprimer les écouteurs d'événements anonymes en JavaScript sans remplacer l'élément ?

Barbara Streisand
Libérer: 2024-10-18 16:47:03
original
788 Les gens l'ont consulté

Is There a Way to Remove Anonymous Event Listeners in JavaScript Without Replacing the Element?

Suppression des écouteurs d'événements anonymes

En JavaScript, les écouteurs d'événements sont souvent ajoutés aux éléments DOM à l'aide de fonctions anonymes. Cependant, supprimer ces écouteurs d'événement sans remplacer l'élément peut être difficile.

Question

Existe-t-il un moyen de supprimer un écouteur d'événement ajouté comme ceci :

element.addEventListener(event, function(){/* do work here */}, false);
Copier après la connexion

...sans remplacer l'élément ?

Réponse

Malheureusement, il n'est pas possible de supprimer proprement un écouteur d'événement anonyme à moins d'avoir stocké une référence au moment de la création.

Solution

Une approche consiste à ajouter l'écouteur d'événement à un objet spécifique, plutôt qu'à l'élément lui-même. Par exemple, vous pourriez avoir un objet « MyListener » qui gère tous vos écouteurs d'événements. Ensuite, lorsque vous n'avez plus besoin de l'écouteur d'événement, vous pouvez simplement le supprimer de l'objet "MyListener".

Voici un exemple :

// Create a "MyListener" object
var myListener = {
  events: []
};

// Add an event listener to the "MyListener" object
myListener.add("click", function(){/* do work here */}, false);

// Remove the event listener from the "MyListener" object
myListener.remove("click");
Copier après la connexion

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
À 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!