Gibt es eine Möglichkeit, eine Liste registrierter Listener für ein EventDispatcher
zu erhalten?
Ich weiß, dass EventDispatcher
die hasEventListener
-Methode hat, um Ihnen zu sagen, ob irgendwelche Listener registriert sind, aber gibt es eine einfache Möglichkeit, EventDispatcher
abzufragen, um herauszufinden, was die Listener sind?
Eine Möglichkeit, dies zu tun, war die Unterklasse EventDispatcher
, um die Methode addEventListener
zu überschreiben und die Listener in einem Wörterbuch zu speichern, aber das fühlt sich für mich klobig an.
Irgendwelche Ideen?
Ok, es scheint also, dass es keine andere Antwort auf diese Frage gibt als meine ursprüngliche Idee, Listener in einem Dictionary zu speichern und sie explizit zu entfernen. Na gut ...
Einige interessante Gedanken über das Feinheiten-AS3-Ereignissystem können sein hier gefunden .
Es sieht nicht so aus, als wäre dies eine vollständige Lösung, aber es könnte Ihnen auf Ihrem Weg helfen:
Aus dem Artikel:
Das obige Beispiel zeigt, wie wir kommen können ein Verweis auf die verschiedenen Zuhörer in einem EventDispatcher erklärt und wie um sie zu entfernen, ohne ein direktes zu haben Referenz (und den Namen des Ereignisses zu kennen) arggg).
Auch wenn dies Ihnen helfen kann herauszufinden, ob ein EventDispatcher hat Zuhörer oder nicht, gibt es noch einige Probleme, die Sie finden könnten:
%Vor%
Tags und Links flash events actionscript-3 event-handling listeners