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