15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verarbeiten von Ereignissen<br />

currentTarget-Eigenschaft<br />

Die currentTarget-Eigenschaft enthält einen Verweis auf das Objekt, mit dem das Ereignisobjekt derzeit verarbeitet<br />

wird. Es mag seltsam erscheinen, nicht zu wissen, in welchem Knoten das überprüfte Ereignisobjekt derzeit verarbeitet<br />

wird. Beachten Sie jedoch, dass Sie jedem Anzeigeobjekt im Ereignisablauf des Ereignisobjekts eine Listener-Funktion<br />

hinzufügen können und dass diese an beliebiger Stelle platziert werden kann. Darüber hinaus kann dieselbe Listener-<br />

Funktion unterschiedlichen Anzeigeobjekten hinzugefügt werden. Wenn Projekte an Umfang und Komplexität<br />

zunehmen, erhöht sich auch zunehmend der Nutzen der currentTarget-Eigenschaft.<br />

Methoden der Event-Klasse<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Es gibt drei Kategorien von Event-Klassenmethoden:<br />

Dienstprogrammmethoden, die Kopien eines Ereignisobjekts erstellen oder es in einen String konvertieren<br />

Ereignisablaufmethoden, mit denen Sie Ereignisobjekte aus dem Ereignisablauf entfernen können<br />

Standardverhaltenmethoden, die das Standardverhalten überprüfen oder feststellen, ob es verhindert wurde<br />

Dienstprogrammmethoden der Event-Klasse<br />

Es liegen zwei Dienstprogrammmethoden für die Event-Klasse vor. Die clone()-Methode ermöglicht Ihnen, Kopien<br />

eines Ereignisobjekts zu erstellen. Die toString()-Methode ermöglicht Ihnen, eine Stringdarstellung der<br />

Eigenschaften eines Ereignisobjekts zusammen mit deren Werten zu generieren. Beide Methoden werden intern im<br />

Ereignismodell verwendet, stehen jedoch auch zur allgemeinen Verwendung für Entwickler bereit.<br />

Erfahrene Entwickler, die Unterklassen der Event-Klasse erstellen möchten, müssen diese beiden Methoden<br />

überschreiben und eigene Versionen implementieren, damit die neue Event-Unterklasse ordnungsgemäß verwendet<br />

werden kann.<br />

Anhalten des Ereignisablaufs<br />

Sie können entweder die Event.stopPropagation()-Methode oder die Event.stopImmediatePropagation()-<br />

Methode aufrufen, um die weitere Verarbeitung eines Ereignisobjekts im Ereignisablauf zu unterbinden. Beide<br />

Methoden sind fast identisch. Sie unterscheiden sich lediglich darin, ob die Abarbeitung der anderen Ereignis-Listener<br />

des aktuellen Knotens zulässig ist oder nicht:<br />

Die Event.stopPropagation()-Methode verhindert, dass das Ereignisobjekt an den nächsten Knoten übergeben<br />

wird, jedoch erst, nachdem alle anderen Ereignis-Listener des aktuellen Knotens verarbeitet wurden.<br />

Die Event.stopImmediatePropagation()-Methode verhindert, dass das Ereignisobjekt an den nächsten Knoten<br />

übergeben wird. Alle anderen Ereignis-Listener des aktuellen Knotens werden nicht mehr verarbeitet.<br />

Keine der beiden Methoden hat Auswirkungen auf das einem Ereignis zugeordnete Standardverhalten. Verwenden Sie<br />

zum Unterdrücken des Standardverhaltens die Standardverhaltenmethoden der Event-Klasse.<br />

Abbrechen des Standardverhaltens von Ereignissen<br />

Die beiden Methoden, die mit dem Abbrechen von Standardverhalten zu tun haben, sind die preventDefault()-<br />

Methode und die isDefaultPrevented()-Methode. Rufen Sie die preventDefault()-Methode auf, um das<br />

Standardverhalten abzubrechen, das einem Ereignis zugeordnet ist. Wenn Sie überprüfen möchten, ob<br />

preventDefault() für ein Ereignisobjekt bereits aufgerufen wurde, verwenden Sie die isDefaultPrevented()-<br />

Methode. Diese gibt den Wert true zurück, wenn die Methode bereits aufgerufen wurde, oder andernfalls den Wert<br />

false.<br />

Letzte Aktualisierung 27.6.2012<br />

142

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!