我完成了对标准TextInput组件的覆盖 在这个组件中,我有:
addEventListener( FocusEvent.FOCUS_OUT, handleFocusOut );
问题:
此致
答案 0 :(得分:0)
我不确定为什么这样做。但是一个解决方案可能是在应用程序级别为FOCUS_OUT
事件设置eventListener并调用stopImmediatePropagation().
答案 1 :(得分:0)
感谢您的帮助!
这是我在我的组件(textinput child)中所做的事情
添加两个事件处理程序:
- addEventListener(Event.ACTIVATE,handleEventActivate);
- addEventListener(Event.DEACTIVATE,handleEventDeActivate);
他们更新内部字段_isApplicationActive
我处理focusOut事件:
addEventListener(FocusEvent.FOCUS_OUT,handleFocusOut);
在方法中我有
if(!_isApplicationActive){event.stopImmediatePropagation(); }
这样我的focusOut处理函数在取消激活应用程序时不会被调用 因为=>在FocusOut事件之前调用DECACTIVATE事件!
答案 2 :(得分:0)
简单的答案是检查event.relatedObject
(接收焦点的对象)是否为空。 Flex的FocusManager
尝试很难确保某些 flex对象具有(flex)焦点,所以它不应该为null。
如果可能,还要检查isRelatedObjectInaccessible
。