Heim >Web-Frontend >js-Tutorial >Wie entferne ich anonyme Ereignis-Listener, ohne Elemente zu ersetzen?
Ereignis-Listener ohne Elementersetzung entfernen
In JavaScript können anonyme Ereignis-Listener, die mit der Methode addEventListener hinzugefügt wurden, ohne Kenntnis des Originals nicht direkt entfernt werden Funktionsreferenz.
Zuweisen zu einer Variablen:
Eine Problemumgehung besteht darin, die anonyme Funktion einer Variablen zuzuweisen, bevor sie zum Ereignis-Listener hinzugefügt wird:
<code class="js">const myEventHandler = function() { // Your code here }; element.addEventListener(event, myEventHandler, false);</code>
Sie können dann den Ereignis-Listener entfernen, indem Sie den Verweis auf die Variable entfernen:
<code class="js">element.removeEventListener(event, myEventHandler);</code>
Speichern in einem Objekt:
Ein anderer Ansatz ist das Speichern Anonyme Ereignishandler in einem Objekt innerhalb des Hauptobjekts:
<code class="js">mainObject.eventHandlers = { [event]: function() { // Your code here } }; element.addEventListener(event, mainObject.eventHandlers[event], false);</code>
Sie können den Ereignis-Listener entfernen, indem Sie das Objekt durchlaufen und die entsprechende Eigenschaft entfernen:
<code class="js">for (const event in mainObject.eventHandlers) { element.removeEventListener(event, mainObject.eventHandlers[event]); }</code>
Hinweis : Es ist wichtig zu bedenken, dass das Entfernen von Event-Handlern nur verhindert, dass diese in Zukunft ausgelöst werden. Alle bereits aufgetretenen Ereignisse führen weiterhin ihre Handler aus.
Das obige ist der detaillierte Inhalt vonWie entferne ich anonyme Ereignis-Listener, ohne Elemente zu ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!