Maison >interface Web >js tutoriel >Pourquoi mon RemoveEventListener ne fonctionne-t-il pas en 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>
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>
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>
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!