2011-10-27 32 views
0

我在cairngorm PopupWrapper中使用組件。我想聽組件上的KeyboardEvent.KEY_DOWn事件,但它似乎沒有調度它。是因爲它在PopupWrapper中嗎?無論如何,我可以派遣它來派發活動嗎?在Flex中,組件在調用PopupWrapper時不調度keyDown事件

<fx:Declaration> 
    <cairngorm:PopupWrapper> 
     <mx:UIComponent keyDown="keyDownHandler()" /> 
    </cairngorm:PopupWrapper> 
</fx:Declaration> 
+2

可能是你的組件沒有焦點? – moropus

+0

也許組件沒有或沒有任何派發keyDown事件的子項? – JeffryHouser

回答

1

我想通了。

PopupWrapper只會將FocusManager添加到組件,如果它實現了IFocusManagerContainer。我的組件擴展了SkinnableComponent,因此沒有得到任何關注。所以我讓我的組件從SkinnableContainer擴展而來。我還必須在「打開」事件中手動將焦點設置到我的組件上。現在,按照預期調度keyDown。