Heim > Web-Frontend > js-Tutorial > Wie entferne ich anonyme Ereignis-Listener, ohne Elemente zu ersetzen?

Wie entferne ich anonyme Ereignis-Listener, ohne Elemente zu ersetzen?

Patricia Arquette
Freigeben: 2024-10-18 16:44:29
Original
923 Leute haben es durchsucht

How to Remove Anonymous Event Listeners Without Replacing Elements?

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>
Nach dem Login kopieren

Sie können dann den Ereignis-Listener entfernen, indem Sie den Verweis auf die Variable entfernen:

<code class="js">element.removeEventListener(event, myEventHandler);</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage