Heim > Web-Frontend > js-Tutorial > Wie kann ich die Registrierung anonymer Ereignis-Listener in JavaScript aufheben?

Wie kann ich die Registrierung anonymer Ereignis-Listener in JavaScript aufheben?

DDD
Freigeben: 2024-10-18 16:45:30
Original
825 Leute haben es durchsucht

How to Unregister Anonymous Event Listeners in JavaScript?

Registrierung anonymer Ereignis-Listener aufheben

Beim Anhängen von Ereignis-Listenern in JavaScript mithilfe der addEventListener-Methode mit einer anonymen Funktion kann es erforderlich sein, sie zu entfernen diese Zuhörer später. Es ist jedoch nicht sofort klar, wie dies zu bewerkstelligen ist, ohne das Element selbst auszutauschen.

Ansatz:

Leider gibt es keine einfache Möglichkeit, ein anonymes Ereignis zu entfernen Listener, sobald es angehängt ist. Dies liegt daran, dass anonyme Funktionen keine Referenz besitzen, die zum Entfernen verwendet werden kann.

Workaround:

Eine praktische Workaround besteht darin, eine Referenz auf den Event-Handler unter zu speichern die Zeit der Schöpfung. Dies kann erreicht werden, indem die anonyme Funktion einer Variablen oder Eigenschaft des zugehörigen Objekts zugewiesen wird. Zum Beispiel:

<code class="javascript">const myElement = document.querySelector('.my-element');

// Store a reference to the event handler
const myEventHandler = function () { /* do work here */ };

// Attach the event listener
myElement.addEventListener('click', myEventHandler, false);</code>
Nach dem Login kopieren

Entfernung:

Sobald der Event-Handler nicht mehr benötigt wird, können Sie ihn entfernen, indem Sie die Methode „removeEventListener“ verwenden und die gespeicherte Referenz übergeben:

<code class="javascript">myElement.removeEventListener('click', myEventHandler);</code>
Nach dem Login kopieren

Wenn Sie diesem Ansatz folgen, können Sie die Registrierung anonymer Ereignis-Listener effektiv aufheben, ohne das Element ersetzen oder auf weniger wünschenswerte Lösungen zurückgreifen zu müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Registrierung anonymer Ereignis-Listener in JavaScript aufheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage