2009-06-29 12 views
3

Ich versuche, die ENTER-Ereignis eines TextInput- wie so zu erfassen:ActionScript 3 Newb: TextInput Ereignis eingeben?

a_txt.addEventListener(fl.events.ComponentEvent.ENTER, aEnter); 

function aEnter(ComponentEvent):void 
{ 
    //... 
} 

gibt es wahrscheinlich etwas in dieser docs
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/TextInput.html#event:enter
die ich verstehe nicht ganz, weil ich diese Kompilierungsfehler bin immer :

1120: Access of undefined property fl. 

Was mache ich falsch?

Antwort

2

Ich bin mir nicht sicher. Ich verwende immer eine Importanweisung, anstatt mich mit Paketnamen zu qualifizieren. Versuchen Sie:

import fl.events.ComponentEvent; 

und dann Ihren Code ändern:

a_txt.addEventListener(ComponentEvent.ENTER, aEnter); 

function aEnter(e:ComponentEvent):void 
{ 
    //... 
} 

Hinweis: Ich habe auch ein Argument Namen "e" auf dem Funktionsaufruf Erklärung.

+0

Rechts wollen. also nicht kompilieren sondern einfach nichts machen wenn ich in die TextInput Box drücke ... – shoosh

0

Ich denke, Sie wollen das textInput Event, anstatt die enter.

Das Ereignis enter wird ausgelöst, wenn der Benutzer die Eingabetaste drückt. Das Ereignis textInput wird ausgelöst, wenn der Benutzer tippt, löscht oder einfügt.

Hoffe, dass hilft.

+0

Aber das ist genau was ich will. um ein Ereignis zu erhalten, wenn Enter gedrückt wird. aber es funktioniert nicht, also verwende ich das KEY_UP-Ereignis. – shoosh

+0

Sorry, shoosh - hätte fragen sollen. –

1

Denken Sie, dass Sie die Textevent dann binden diese zu Ihrem normalen

function aEnter(e:TextEvent):void { 
    if (evt.text == "\n") { 
     evt.preventDefault(); 
     // Do some thing else?? 
    } 
}