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