Flash / Flex / ActionScript/TextField/focus

Материал из Web эксперт
Перейти к: навигация, поиск

Assigning Focus to a Text Field

   <source lang="java">

package {

 import flash.display.Sprite;
 import flash.text.TextField;
 import flash.text.TextFieldType;
 import flash.events.MouseEvent;
 public class Main extends Sprite {
   public function Main(  ) {
     var field:TextField = new TextField(  );
     field.border = true;
     field.background = true;
     field.type = TextFieldType.INPUT;
     addChild(field);
     var button:Sprite = new Sprite(  );
     button.graphics.lineStyle(  );
     button.graphics.beginFill(0xFFFFFF);
     button.graphics.drawRect(0, 0, 100, 50);
     button.graphics.endFill(  );
     button.addEventListener(MouseEvent.CLICK, onClick);
     button.y = 100;
     addChild(button);
   }
   
   private function onClick(event:MouseEvent):void {
     stage.focus = TextField(getChildAt(0));
   }
   
 }

}

       </source>
   
  


Setting the Insertion Point in a Text Field

   <source lang="java">

package {

 import flash.display.Sprite;
 import flash.text.TextField;
 public class Main extends Sprite {
   public function Main(  ) {
     var field:TextField = new TextField(  );
   
       stage.focus = field;                  // Set the focus to the text field
       field.text = "this is example text";  // Set the text value
       field.setSelection(0, 0);
       
       
       trace(field.caretIndex);
       addChild(field);
   }
 }

}

       </source>
   
  


To remove focus from a text field you should assign Stage.focus the null value

   <source lang="java">

package {

 import flash.display.Sprite;
 import flash.text.TextField;
 import flash.text.TextFieldType;
 import flash.events.MouseEvent;
 public class Main extends Sprite {
   public function Main(  ) {
     var field:TextField = new TextField(  );
     field.border = true;
     field.background = true;
     field.type = TextFieldType.INPUT;
     addChild(field);
     var button:Sprite = new Sprite(  );
     button.graphics.lineStyle(  );
     button.graphics.beginFill(0xFFFFFF);
     button.graphics.drawRect(0, 0, 100, 50);
     button.graphics.endFill(  );
     button.addEventListener(MouseEvent.CLICK, onClick);
     button.y = 100;
     addChild(button);
   }
   
   private function onClick(event:MouseEvent):void {
     stage.focus = null;
   }
   
 }

}

       </source>