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);
...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");
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!