在组件外部拖放拖动时的Flex事件

时间:2012-10-04 07:43:13

标签: flex events drag-and-drop

我的一个组件是处理拖放

<s:HGroup id="hgModules" 
      gap="0" width="100%" height="100%" horizontalAlign="center" verticalAlign="middle"
      dragOver="dragOver(event)" dragEnter="dragEnter(event)" dragDrop="dragDrop(event)" dragComplete="dragComplete(event)" dragExit="dragExit(event)">

我的问题是,当某些东西被拖离hgModules时,我没有得到任何事件。甚至没有拖动完成。
为清楚起见,“outside”是包含Group的{​​{1}},不会处理丢弃。因此,“无效掉落”白色和红色图标会发生下降
问题是:我该怎么做才能收到通知用户在hgModules之外发布了左键?

1 个答案:

答案 0 :(得分:0)

应该归功于REGIster,指出我的方向正确

            protected function onDragStart( event:MenuEvent):void {
                systemManager.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, onMouseDragUp, false, 0, true);
                systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_UP, onMouseDragUp, false, 0, true);
            }


            protected function onMouseDragUp( event:Event):void {
                systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP, onMouseDragUp, false);
                systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, onMouseDragUp, false);
                dragDrop( event);
            }