Flex Panel在获得焦点时不会调用focusInHandler()

时间:2010-01-19 18:40:30

标签: flex flash actionscript-3

我想在FLex Panel获得或失去焦点时收到通知。我已经覆盖了focusInHandler()和focusOutHandler(),但是当我点击面板时它们不会被调用。

面板样式更改表明它具有焦点,但处理程序不会被调用。

我错过了什么?

2 个答案:

答案 0 :(得分:3)

容器(和隐式面板)不是真正可聚焦的。这意味着只需单击一个空容器就不会给它重点,因此不会触发“focusIn”的事件处理程序。为了使容器“获得”焦点,实现IFocusManagerComponent接口的容器的子容器必须获得焦点。

因此,如果您希望面板在单击时触发“focusIn”事件,则应该在鼠标单击时将该面板的可聚焦孩子聚焦。

答案 1 :(得分:0)

您是否尝试过明确地听取该事件:

myPanel.addEventListener(FocusEvent.FOCUS_IN, myEventHandler);

并确保它被调用?