Maison > interface Web > js tutoriel > Pourquoi mon RemoveEventListener ne fonctionne-t-il pas en JavaScript ?

Pourquoi mon RemoveEventListener ne fonctionne-t-il pas en JavaScript ?

Susan Sarandon
Libérer: 2024-11-03 08:08:30
original
451 Les gens l'ont consulté

Why Is My removeEventListener Not Working in JavaScript?

Javascript RemoveEventListener ne fonctionne pas

Dans le domaine de la gestion des événements, la méthode RemoveEventListener joue un rôle crucial dans le détachement des écouteurs d'événements des éléments. Cependant, rencontrer des problèmes avec RemoveEventListener qui ne fonctionne pas comme prévu peut être frustrant.

Considérez l'extrait de code suivant :

<code class="javascript">area.addEventListener('click',function(event) {
    app.addSpot(event.clientX,event.clientY);
    app.addFlag = 1;
},true);</code>
Copier après la connexion

Ce code attache de manière compétente une fonction anonyme en tant qu'écouteur d'événement pour le 'click ' sur l'élément 'area'. Cependant, lorsque vous tentez de supprimer cet écouteur avec le code suivant :

<code class="javascript">area.removeEventListener('click',function(event) {
    app.addSpot(event.clientX,event.clientY);
    app.addFlag = 1;
},true);</code>
Copier après la connexion

Vous risquez de rencontrer un barrage routier. Le problème réside dans la nature distincte des fonctions anonymes utilisées dans addEventListener et removeEventListener. La fonction fournie en argument de removeEventListener n'est pas identique à la fonction enregistrée précédemment. Pour résoudre ce problème, attribuez la fonction d'écoute à une variable nommée :

<code class="javascript">function foo(event) {
    app.addSpot(event.clientX,event.clientY);
    app.addFlag = 1;
}
area.addEventListener('click',foo,true);
area.removeEventListener('click',foo,true);</code>
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.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
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