首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在flex中拖动弹出式菜单的最合理方法

在flex中拖动弹出式菜单的最合理方法
EN

Stack Overflow用户
提问于 2010-07-27 01:20:09
回答 1查看 843关注 0票数 0

在我的应用程序中,我现在有一个弹出菜单作为一个BorderContainer实现,它有很多按钮、文本字段、日期选择器等。PopUpManager根据一些UI事件处理它的出现和消失。

我希望能够通过单击容器的任何部分(减去)来拖动容器。换句话说,当我单击按钮、文本字段等时,我希望它们像往常一样响应,因为容器是不可拖的。

我尝试过这个非常简单的实现

代码语言:javascript
运行
复制
_menu.addEventListener(MouseEvent.ROLL_OVER, toggleDragON);
_menu.addEventListener(MouseEvent.ROLL_OUT, toggleDragOFF);

private function mouseDown(event:MouseEvent):void 
{ 
    _menu.startDrag(); 
} 

private function mouseReleased(event:MouseEvent):void 
{ 
    _menu.stopDrag(); 
}

但是,这显然不起作用,即所有组件都会导致拖放。我试图确保mouseEnabled和mouseChildren对于所有组件都是正确的,但这似乎没有什么区别。

然后,我遇到了this thread,这很有意义,但我很难相信处理这个问题的最好方法是处理弹出窗口中每个组件的所有单击事件。有什么简单的方法可以做到这点吗?

谢谢!

F

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-27 02:01:48

检查事件的目标属性以检查它是否等于菜单如何?

代码语言:javascript
运行
复制
if (event.target == _menu) {
    _menu.startDrag();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3340123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档