(转)AS3焦点事件

一个对象获取焦点,可理解为被选中。

FocusEvent的类型只有4种:

FocusEvent.FOCUS_IN: 存储字符串“focusIn”指定获得焦点的事件类型

EocusEvent.FOCUS_OUT:存储字符串“focusOut”指定失去焦点的事件类型

FocusEvent.KEY_FOCUS_CHANGE:存储字符串“keyFocusChange”指定通过按钮改变焦点的事件类型

FocusEvent.MOUSE_FOCUS_CHANGE:存储字符串“mouseFocusChange”指定通过鼠标改变焦点的事件类型

焦点实例

mc1.tabIndex = 1;

mc2.tabIndex = 2;

mc3.tabIndex = 3;

var tf:TextField = new TextField();

tf.autoSize = 'left';

tf.x = tf.y = 10;

var format:TextFormat = new TextFormat();

format.size = 14;

tf.defaultTextFormat = format;

addChild(tf);

stage.addEventListener(FocusEvent.FOCUS_IN,showTarget);

function showTarget(e:FocusEvent):void{

tf.text = "现在焦点是"+e.target.name;

}

来自:http://hi.baidu.com/as3%C8%EB%C3%C5%BE%AB%CD%A8/blog/item/dba3c3b7d305f746092302cf.html

Q:点击一个MovieClip,结果该MovieClip不会获得焦点,而且还会导致stage.focus属性变为null   会影响键盘侦听
点击文本框则是好的   这是为什么,如何解决呢?

A:这个问题容易搞定. 键盘模块监听舞台的 focus in 事件每次 focus in 新的焦点后,则监听新焦点的 remove_from_stage 事件发现新焦点对象 remove , 重置 stage.focus = stage 即可

原文地址:https://www.cnblogs.com/wonderKK/p/2607145.html