TextField.addEventListener(TextEvent.TEXT_INPUT, textInputHandler)每當使用者在文字欄位中輸入文字,或在 HTML 文字欄位中按下超連結時,物件就會傳送 TextEvent 物件。
注意:Delete 或 Backspace 鍵不會傳送這個事件。
於黃色文字欄位輸入文字,輸入之文字將出現在白色文字欄位,但英文字元的出現會慢一個字元,
中文字則可同步。但貼上剪貼簿內中文字也會慢一步顯示。
package { // import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFieldAutoSize; import flash.events.TextEvent; import flash.display.Stage; //' public class Text_INPUT_1 extends Sprite { // private var inputTf:TextField = new TextField(); private var outputTf:TextField = new TextField(); private var inputStr:String = "在這裡鍵入文字"; // public function Text_INPUT_1() { captureText(); } // private function captureText():void { inputTf.type = TextFieldType.INPUT; inputTf.background = true; inputTf.backgroundColor = 0xffff00; inputTf.autoSize = TextFieldAutoSize.LEFT; inputTf.width = 260; inputTf.wordWrap = true; inputTf.x = 10; inputTf.y = 10; addChild(inputTf); inputTf.text = inputStr; //***Delete 或 Backspace 鍵不會傳送TEXT_INPUT事件。 inputTf.addEventListener(TextEvent.TEXT_INPUT, textInputCapture); } // private function textInputCapture(e:TextEvent):void { //var str = inputTf.text; var str = e.currentTarget.text; creatOutputFt(str); } // private function creatOutputFt(str:String):void { outputTf.background = true; outputTf.autoSize = TextFieldAutoSize.LEFT; outputTf.width = 260; outputTf.wordWrap = true; outputTf.x = 280; outputTf.y = 10; addChild(outputTf); outputTf.text = str; } } }
適用於 Adobe Flash Professional CS5 的 ActionScript 3.0 參考__flash.events.TextEvent.TextEvent
適用於 Adobe Flash Professional CS5 的 ActionScript 3.0 參考__flash.text.TextFieldAutoSize
沒有留言:
張貼留言