removeEventListener funktioniert nicht

7

Ich weiß nicht, was ich falsch mache, aber hier ist ein Beispiel für das, was ich tue und es scheint nicht zu funktionieren.

%Vor%

Der removeEventListener-Code wird ausgeführt, entfernt jedoch den 'mousemove'-Listener nicht

    
fogy 28.04.2011, 21:51
quelle

4 Antworten

25

removeEventListener entfernt den Listener, der genau mit der Funktion übereinstimmt, die hinzugefügt wurde.

In diesem Fall war die Funktion addEventListener hinzugefügt:

%Vor%

Speichern Sie einen Verweis auf die eigentliche Funktion und Sie werden gut sein. So sollte zum Beispiel Folgendes funktionieren:

%Vor%     
Sean Vieira 28.04.2011 21:55
quelle
5

onInputMove ist keine Event-Callback-Methode. Du musst also etwas tun wie:

%Vor%     
cem 28.04.2011 21:53
quelle
1

Warum sollten Sie es selbst so schwer machen? Verwenden Sie einfach Folgendes, um ein Ereignis an ein Element zu binden:

%Vor%

Wenn Sie jetzt das Ereignis entfernen möchten, tun Sie Folgendes:

%Vor%

Fertig!

Hoffe das hilft euch Jungs!

    
Steffen Brem 12.07.2012 06:58
quelle
1

Diese Seite kommt zuerst bei der Suche nach diesem / ähnlichen Problem bei Google. Abgesehen von den bereits erwähnten Antworten ist hier noch eine interessante Tatsache für die Zukunft:

Durch das Weglassen der dritten optionalen Variable in addEventListener () für useCapture / useBubble (da sie standardmäßig auf false gesetzt ist) entsteht ein Problem beim Entfernen des gleichen eventlistener mit demselben Callback-Namen. Ich habe dieses Problem bei der Arbeit an Chrom konfrontiert. Kann nicht über andere Browser sagen.

Erwähnen Sie die dritte Variable explizit als "false".

    
daksh_019 30.09.2014 09:34
quelle

Tags und Links