关于FocusManager不大不小的一个bug

这两天做一个应用,其中用到v2组件,还有双击事件,于是碰到了一个bug.
双击事件时好时坏,感觉就是当初玩立体机时,手柄接触的不良现象..看来看去,不是双击算法的问题.
发现在按钮click之后,如果鼠标没有移动就无法再click了.....鼠标都不成手型而是普通的箭头的形状.

开始以为player发神经病了,于是找了个干净的swf测试(就一个按钮)发现一切正常....
后来发现是因为,每次出现这种情况前,都去TextInput里面输入点东西,那就把责任全怪到TextInput上了...可是最单纯的TextField也会这样.....
我还是不相信,又找了个干净的swf测试(一个按钮,一个TextField)...发现一切正常....于是,我怀疑V2组件了
又几次测试下来,发现焦点定在TextInput里面后,点击普通的按钮,鼠标按下时焦点是移出了TextInput,但是鼠标弹起时又回去了....原来是焦点问题-__-

最终,确定下来是FocusManager搞的鬼.他里面有个onMouseUp函数,在mouseUp时,如果鼠标不在v2组件上,他就把焦点设回最后一个触焦的对象上...=_=,看他的源码,实现起来颇为怪异....难道这就是老外和国人的差别??

不管,找到了病根就要找解药,哈哈.. 帝国2004年就有人解决了,省事省心,搞定收工

当然,如果你觉得帝国帖子里教的方法,太烦琐的话,我这里还有一招比较简单,比较黑的^^_
在第一帧加这么一句,hoho,效果一样啦~
delete _global.mx.managers.FocusManager.prototype.restoreFocus;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值