Uncaught RangeError: Maximum call stack size exceeded, JavaScript
Ich habe ein problem
open: function($type) {
//Some code
document.getElementById($type).addEventListener("click", l.close($type), false);
},
close: function($type) {
//There is some code too
document.getElementById($type).removeEventListener("click", l.close($type), false);
//^ Recursion & Uncaught RangeError: Maximum call stack size exceeded
}
Was ich falsch mache? Ohne das click-Ereignis-listener alles gut funktioniert. Und was ist der Dritte parameter macht (true|false)? Danke.
- developer.mozilla.org/en/DOM/element.removeEventListener der Dritte parameter flags geben Sie an, ob der Ereignis-listener zu verwenden, event capturing (im Gegensatz zu blubbern) auf hinzufügen, und auf Entfernung, ob oder ob nicht das Ereignis wurde Hinzugefügt, als solche.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie sind dem Aufruf der
close
Funktion in deraddEventListener
undremoveEventListener
wenn Sie versuchen, um pass ist als argument (was zu einer Endlosschleife). Stattdessen sollten Sie einfach übergeben Sie die Referenz auf die Funktion wie folgt:Und:
Oder haben Sie vielleicht zwei Javascript-Funktionen mit dem gleichen Namen.