Paket | mx.utils |
Klasse | public class OnDemandEventDispatcher |
Vererbung | OnDemandEventDispatcher Object |
Implementiert | IEventDispatcher |
Unterklassen | AsyncListView, LayoutBase, NumericDataProvider, OverrideBase |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Methode | Definiert von | ||
---|---|---|---|
Konstruktor. | OnDemandEventDispatcher | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | OnDemandEventDispatcher | ||
Sendet ein Ereignis in den Ereignisablauf. | OnDemandEventDispatcher | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | OnDemandEventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | OnDemandEventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | OnDemandEventDispatcher |
OnDemandEventDispatcher | () | Konstruktor |
public function OnDemandEventDispatcher()
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Konstruktor.
addEventListener | () | Methode |
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. Sie können Ereignis-Listener bei allen Knoten in der Anzeigeliste für eine bestimmte Art von Ereignis, Phase oder Priorität registrieren.
Nachdem Sie einen Ereignis-Listener erfolgreich registriert haben, können Sie seine Priorität nicht durch weitere Aufrufe von addEventListener()
ändern. Um die Priorität eines Listeners zu ändern, müssen Sie zunächst removeEventListener()
aufrufen. Anschließend können Sie den Listener mit der neuen Prioritätsstufe erneut aufrufen.
Nach der Registrierung des Listeners haben nachfolgende Aufrufe von addEventListener()
mit einem anderen type
- oder useCapture
-Wert eine separate Listener-Registrierung zur Folge. Wenn Sie beispielsweise zuerst einen Listener registrieren, für den useCapture
auf true
gesetzt ist, wird dieser nur während der Erfassungsphase aktiv sein. Wenn Sie addEventListener()
für dasselbe Listener-Objekt erneut aufrufen, diesmal aber useCapture
auf false
gesetzt ist, werden zwei separate Listener angelegt: einer, der während der Erfassungsphase aktiv ist und ein zweiter, der während der Ziel- und Bubbling-Phase aktiv ist.
Sie können einen Ereignis-Listener nicht nur für die Ziel- oder Bubbling-Phase registrieren. Die beiden Phasen hängen während der Registrierung immer zusammen, da Bubbling nur für übergeordnete Elemente des Zielknotens gilt.
Wenn Sie einen Ereignis-Listener nicht mehr benötigen, entfernen sie ihn, indem Sie EventDispatcher.removeEventListener()
aufrufen, andernfalls könnte es zu Speicherproblemen kommen. Objekte mit registrierten Ereignis-Listenern werden nicht automatisch aus dem Speicher entfernt, da der Garbagekollektor (Speichermanagement) keine Objekte entfernt, die noch Verweise enthalten.
Beim Kopieren einer EventDispatcher-Instanz werden zugewiesene Ereignis-Listener nicht kopiert. (Wenn ein neu angelegter Knoten einen Ereignis-Listener benötigt, müssen Sie den Listener nach dem Erstellen des Knotens zuweisen.) Wenn Sie jedoch eine EventDispatcher-Instanz verschieben, werden zugewiesene Ereignis-Listener ebenfalls verschoben.
Wenn der Ereignis-Listener bei einem Knoten registriert ist und dieser Knoten ein Ereignis durchgeführt, so wird der Ereignis-Listener nicht während der aktuellen Phase ausgelöst, kann aber in einer späteren Phase im Ereignisablauf gesendet werden, etwa in der Bubbling-Phase.
Wird ein Ereignis-Listener von einem Knoten entfernt, während mit dem Knoten ein Ereignis durchgeführt wird, so wird er von den aktuellen Aktionen immer noch ausgelöst. Nachdem er entfernt worden ist, wird der Ereignis-Listener nicht wieder aufgerufen (es sei denn er wird für spätere Verarbeitungsvorgänge erneut aufgerufen).
Parameter
type:String — Der Ereignistyp.
| |
listener:Function — Die Listener-Funktion, die das Ereignis verarbeitet. Diese Funktion muss, wie das nachfolgende Beispiel zeigt, ein Ereignisobjekt als einzigen Parameter akzeptieren und keinen Wert zurückgeben:
| |
useCapture:Boolean (default = false ) — Bestimmt, ob der Listener in der Erfassungsphase oder in der Ziel- und Bubbling-Phase arbeitet. Ist useCapture auf true gesetzt, so verarbeitet der Listener das Ereignis nur während der Erfassungsphase und nicht während der Ziel- oder Bubbling-Phase. Hat useCapture hingegen den Wert false , verarbeitet der Listener das Ereignis nur während der Ziel- oder Bubbling-Phase. Damit das Ereignis in allen drei Phasen aktiv ist, rufen Sie addEventListener() zweimal auf; einmal ist useCapture auf true gesetzt, und beim zweiten Mal hat useCapture den Wert false .
| |
priority:int (default = 0 ) — Die Prioritätsstufe des Ereignis-Listeners. Prioritäten werden über eine 32-Bit-Ganzzahl zugewiesen. Je höher die Zahl, desto höher die Priorität. Alle Listener mit der Priorität n werden vor Listenern mit der Priorität n-1 verarbeitet. Wenn zwei oder mehr Listener die gleiche Priorität aufweisen, werden sie in der Reihenfolge verarbeitet, in der sie hinzugefügt wurden. Die Standardpriorität ist 0.
| |
useWeakReference:Boolean (default = false ) — Bestimmt, ob der Verweis auf den Listener stark oder schwach ist. Ein starker Verweis (der Standard) verhindert, dass der Listener von einem Garbage Collector entfernt wird. Ein schwacher Verweis hingegen nicht. Funktionen von Mitgliedern auf Klassenebene werden nicht vom Garbagekollektor entfernt. Daher können Sie |
dispatchEvent | () | Methode |
public function dispatchEvent(event:Event):Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Sendet ein Ereignis in den Ereignisablauf. Das Ereignisziel ist das EventDispatcher-Objekt, für das die Methode dispatchEvent()
aufgerufen wird.
Parameter
event:Event — Das Ereignisobjekt, das in den Ereignisablauf gesendet wird.
|
Boolean — Der Wert true (sofern nicht preventDefault() ) wird bei dem Ereignis aufgerufen. In diesem Fall wird false zurückgegeben.
|
hasEventListener | () | Methode |
public function hasEventListener(type:String):Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. Dadurch können Sie bestimmen, wo ein EventDispatcher-Objekt die Verarbeitung eines Ereignistyps in der Ereignisablaufhierarchie geändert hat. Um festzustellen, ob ein bestimmter Ereignistyp einen Ereignis-Listener auslöst, verwenden Sie IEventDispatcher.willTrigger()
.
Der Unterschied zwischen hasEventListener()
und willTrigger()
besteht darin, dass hasEventListener()
nur das Objekt untersucht, zu dem es gehört, während willTrigger()
den gesamten Ereignisablauf auf das im Parameter type
angegebene Ereignis untersucht.
Parameter
type:String — Der Ereignistyp.
|
Boolean — Der Wert true , wenn ein Listener des angegebenen Typs registriert ist; andernfalls false .
|
removeEventListener | () | Methode |
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Entfernt einen Listener aus dem EventDispatcher-Objekt. Wenn kein entsprechender Listener mit dem EventDispatcher-Objekt registriert ist, hat ein Aufruf dieser Methode keine Auswirkungen.
Parameter
type:String — Der Ereignistyp.
| |
listener:Function — Das zu entfernende Listener-Objekt.
| |
useCapture:Boolean (default = false ) — Gibt an, ob der Listener für die Erfassungsphase oder die Ziel- und Bubbling-Phase registriert wurde. Wenn der Listener sowohl für die Erfassungs- als auch für die Bubbling-Phase registriert wurde, sind auch zwei Aufrufe von removeEventListener() erforderlich, um beide zu entfernen: ein Aufruf, bei dem useCapture auf true gesetzt ist, und einer, bei dem useCapture auf false gesetzt ist.
|
willTrigger | () | Methode |
public function willTrigger(type:String):Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. Diese Methode liefert den Wert true
, wenn während irgendeiner Phase des Ereignisablaufs ein Ereignis-Listener aufgerufen wird, wenn ein Ereignis des angegebenen Typs für dieses EventDispatcher-Objekt oder eines seiner nachfolgenden Elemente ausgelöst wird.
Der Unterschied zwischen hasEventListener()
und willTrigger()
besteht darin, dass hasEventListener()
nur das Objekt untersucht, zu dem es gehört, während willTrigger()
den gesamten Ereignisablauf auf das im Parameter type
angegebene Ereignis untersucht.
Parameter
type:String — Der Ereignistyp.
|
Boolean — Der Wert true , wenn ein Listener des angegebenen Typs ausgelöst wird; andernfalls false .
|
Tue Jun 12 2018, 10:04 AM Z