(转)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 即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值