Frage

Ich bin neu in Flex, die aber nicht neu in der Programmierung. Ich möchte einen generischen Ereignishandler schreiben, die von allen meinen TextInput- Boxen genannt werden, wenn sie den Fokus erhalten. Wenn sie den Fokus haben, mag ich die Farbe der Texteingabe-Box ändern. Wenn sie den Fokus verlieren, möchte ich die „inaktiv“ Farbprofil wiederherzustellen. Ich könnte einen Actionscript-Event-Handler für jede TextInput- Box schreiben, aber wir alle wissen, das ist lahm. : O) Was ich brauche, dann ist eine Möglichkeit, das Objekt zuzugreifen, die den Event-Handler ruft

.

In Delphi, ich hätte eine Funktion geschrieben, die in dem Sender Objekt passiert, so dass ich das anrufenden Eigenschaften des Objekt zuzugreifen. Ich schätze, dass Actionscript / Flex eine völlig andere Architektur hat, weshalb ich Schwierigkeiten habe dies zu tun.

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Sie sollten TextInput- Unterklasse und die Fokus-Ereignisse dort behandeln. Ich denke, das wäre die einfachste Art und Weise zu erreichen, was Sie suchen, ohne komplizierten Code mit.

Andere Tipps

Ich hoffe, ich bin zu verstehen, was Sie für Fragen ... sind Sie Ereignis Delegation sprechen?

Das funktioniert für mich:

// 'focusOut' for blur
stage.addEventListener('focusIn', function(e:Event):void {
    // The focused control is e.target
});

Wenn Sie das Aussehen des fokussierten Eingabefeld ändern möchten, können Sie dies tun, indem Sie die focusSkin Eigenschaft festlegen. Wenn Sie diese global passieren wollen, können Sie einen Stil Erklärung in Ihrer CSS-Datei setzen.

In diesem CSS Beispiel ich die Standard-focusSkin bin ersetzt (mx.skins.halo.HaloFocusRect) mit einer eingebetteten PNG-Datei.

TextInput {
  focusSkin: Embed(source="focus.png");
}

TextInput- hat einige Eigenschaften für das Aussehen des Fokus zu verändern, wie die Opazität der Fokus Haut zu ändern (focusAlpha Eigenschaft). Schauen Sie sich die TextInput- Dokumentation für weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top