2009-04-27 7 views

Antwort

4

Sie tun es durch den FocusManager. Dann können Sie einfach die Funktion getFocus aufrufen. Ich habe ein schnelles Beispiel, das jede Sekunde, wirklich sinnlos, da sie den aktuellen Fokus zeigt, aber es zeigt Ihnen, wie es funktioniert:

import fl.managers.FocusManager; 
var focus:FocusManager = new FocusManager(this); 

function traceFocus():void 
{ 
    trace(focus.getFocus()) 
} 


setInterval(traceFocus,1000); 

einfach diesen Code in der Wurzel gelegt und dann einig Eingabefelder auf dem Bühne und es sollte funktionieren. Auch Besuche the documentation

1

Dies funktioniert auch:

if (stage.focus) { trace (stage.focus.name); } 

Beachten Sie, dass, wenn Sie eine Textinput-Komponente verwenden und seinen Namen erwarten, wenn der Benutzer klickt, werden Sie tatsächlich den Namen der Instanz erhalten des untergeordneten TextField des TextInput (das einen beliebigen Namen wie instance88 hat), so sollten Sie stage.focus.parent.name verwenden, um den richtigen Instanznamen des TextInput selbst zu erhalten.

Verwandte Themen