Woher weiß ich, dass removeEventListener erfolgreich war?

8

Gibt es eine Möglichkeit zu bestätigen, dass revmoveEventListener erfolgreich war? Ich verwende es auf einem Videoelement für das "Spielen" / "Pause" -Ereignis. Das Verhalten, das ich versuche zu erreichen, scheint inkonsequent zu sein. Hier ist ein Beispiel, wie ich es benutze.

%Vor%

Irgendwo anders in meinem Code

%Vor%

playListener ist dort verfügbar, wo ich removeEventListener verwende, und ich gebe die ID des Videoelements weiter, so dass es dasselbe videoElement ist, dem ich den Ereignis-Listener hinzugefügt habe.

Ich möchte wissen, ob ich eine Art console.log oder etwas tun kann, um zu bestätigen, dass der removeEventListener funktioniert hat.

    
Ephapox 04.12.2015, 01:17
quelle

1 Antwort

9

Leider gibt die Methode removeEventListener nichts zurück oder gibt einen Fehler aus, wenn ein Ereignis-Listener nicht erfolgreich entfernt wird. Es gibt auch keine JavaScript-Methode, um auf die Ereignis-Listener zuzugreifen, die aktuell für ein bestimmtes Element definiert sind.

Was das Debuggen Ihres Problems angeht, bieten die meisten modernen Browser-Entwicklungstools die Möglichkeit, Ereignis-Listener anzuzeigen. Sie können eine debugger -Anweisung in Ihren Code einfügen (oder einen Haltepunkt setzen), um die Ausführung anzuhalten, unmittelbar bevor Sie removeEventListener :

aufgerufen haben %Vor%

Sobald der Haltepunkt erreicht und die Ausführung angehalten wurde, überprüfen Sie die Ereignislistener auf der Registerkarte "Elemente" der Chrome Dev Tools, um zu überprüfen, ob der Ereignis-Listener aktuell festgelegt ist:

Sie können Ereignis-Listener auch auf der Registerkarte "Informationen" des Firefox-Entwicklungstools finden:

Nachdem Sie überprüft haben, dass Ihr Ereignis-Listener aktuell eingestellt ist, gehen Sie zurück zum Debugger ( Chrome "Quellen" / Firefox "Debugger" Tab ) und gehen Sie durch den Code ( F10 ) Zeile für Zeile.

Nachdem Ihr Aufruf von removeEventListener ausgeführt wurde, gehen Sie zurück und überprüfen Sie Ihre Ereignis-Listener erneut. Wenn es erfolgreich war, sollte Ihr Ereignis-Listener nicht mehr festgelegt werden. Sobald Sie mit dem Debuggen fertig sind, können Sie die Codeausführung fortsetzen ( F8 ).

    
nderscore 04.12.2015, 01:43
quelle

Tags und Links