小编Ant*_*nka的帖子

"FlexGlobals.topLevelApplication.addEventListener"无法捕获PopUp上的键盘输入

假设我有一个应用程序和一个全局事件监听器.在PopUp中被解雇的关键事件是否会被该听众捕获?或者弹出窗口可能没有放在那个层次结构中?这是简化的测试代码,让您了解我在说什么:

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script><![CDATA[
private function init():void {
            FlexGlobals.topLevelApplication.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDownHandler);
        }

        private function myKeyDownHandler(event:KeyboardEvent):void {
            Alert.show("It works!");
        }

        private function makeNewPopup():void {
            var win:PopupWindow = new PopupWindow(this, new TestingForm(), true, "Popup", false);
            win.showPopup();
        }
]]></mx:Script>
<mx:VBox>
        <mx:TextInput/>
        <mx:Button label="MakePopup" click="makeNewPopup()"/>
    </mx:VBox>
</mx:Canvas>
Run Code Online (Sandbox Code Playgroud)

好的,我们有...运行应用程序后,将输入焦点放入TextInput并按任意字母.警报将被解雇.现在,按MakePopup并在其中执行相同的TextInput ..没有任何反馈.

有什么想法吗?

apache-flex global popup keypress

3
推荐指数
1
解决办法
1892
查看次数

标签 统计

apache-flex ×1

global ×1

keypress ×1

popup ×1