user action\event | textInput | change | focusOut | enter |
---|---|---|---|---|
type each character | X | X | ||
delete | X | |||
paste | X | |||
enter | X | |||
out of fucus | X | |||
change by actionscript |
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.events.FlexEvent; private function onClick(event:MouseEvent):void { text1.text="Change by actionscript"; // no event will be fired } //each type character generate an event private function onChange(event:Event):void { var eventName:String=event.type; //flash.events.Event.CHANGE output.text +=eventName+", value="+text1.text+"\n"; } private function onKeyEnter(event:FlexEvent):void { var eventName:String=event.type; //mx.events.FlexEvent.ENTER output.text +=eventName+", value="+text1.text+"\n"; } //user type, paste to private function onAnyUserInput(event:TextEvent):void { var eventName:String=event.type; //flash.events.TextEvent.TEXT_INPUT; output.text +=eventName+", value="+text1.text+"\n"; } private function onFocusOut(event:FocusEvent):void { var eventName:String=flash.events.FocusEvent.FOCUS_OUT; output.text +=eventName+", value="+text1.text+"\n"; } ]]> </mx:Script> <mx:Button x="178" y="43" label="Change Value" click="onClick(event)"/> <mx:TextInput id="text1" x="121" y="118" width="315" enter="onKeyEnter(event)" change="onChange(event)" textInput="onAnyUserInput(event)" focusOut="onFocusOut(event)"/> <mx:TextArea id="output" x="121" y="179" width="372" height="297"/> </mx:Application>