Flash AS3 EventDispatcher - Wie kann man eine Liste registrierter Listener erhalten?

9

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?

    
Reuben 21.09.2009, 01:39
quelle

2 Antworten

3

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 .

    
Reuben 24.09.2009, 00:49
quelle
1

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%
    
Ryan Guill 21.09.2009 14:26
quelle