9.20.设置文本框的焦点

问题
我想用ActionScript 设置文本框焦点
解决办法
使用Stage.focus 属性
讨论
使用Stage.focus属性可在程序里赋值焦点到一个文本框上,每个可视化对象都有一个stage 属性,它是Stage类实例,下面的代码把焦点赋值给叫field的文本框上:
+展开
-ActionScript
stage.focus = field;

当一个.swf 第一次被载入到浏览器时,它是没有焦点的,因此在必须先设定把焦点移到Flash播放器上,下面的例子把焦点赋值给文本框:
+展开
-ActionScript
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.events.MouseEvent;
public class TextExample extends Sprite {
public function TextExample( ) {
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));
}
}
}

把Stage.focus 设为null即可移除焦点:
+展开
-ActionScript
stage.focus = null;

加支付宝好友偷能量挖...


评论(0)网络
阅读(105)喜欢(0)flash/flex/fcs/AIR