Flex中如何判断是否在组件之外单击
网络编程 2021-07-05 11:32www.168986.cn编程入门
这篇文章主要介绍了在Flex中判断是否在组件之外单击的技巧,需要的朋友可以参考下
昨天在做Flex开发的时候,遇到了这样一种操作,之前也遇到过,那时的办法不是很好,今天又碰上了类似的问题,先看一张图吧!
这是系统界面大概的样子,现在的情况是,红色区域是一个窗口、页面、组件这样的,需要在这个组件之外的地方单击就隐藏这个组件,以前的想法很简单,就是通过坐标判断,现在这个红色的区域的结构比较复杂,所以不知道有什么样的方式可以解决,后来遇到了一个网友,给了我一段代码,我觉得还不错,我觉得算是技巧性的东西吧!所以分享一下
,在黑色的区域监听单击事件,然后在单击事件的处理函数中通过contains方法判断。代码如下所示
public functionclickHandler(event:MouseEvent):void
{
if(!红色区域.contains(event.target asDisplayObject) && !绿色区域.contains(event.target as DisplayObject))
{
红色区域.visible = false;
}
}
这段代码,我认为还是比较一种好的解决方案。最开始的想法是通过坐标来判断,然后又冒出了一个想法就是在红色区域上监听鼠标离开,在离开的处理函数中监听单击的事件,这种方法好像不好使。于是问了一下网友,就知道了这种方法。
这里还有一个小插曲我的qq头像是路飞的,很巧合的是帮助我解决问题的是一个索隆头像的网友,解决完问题之后,他还叫了我一声船长,很有趣啊!
这是系统界面大概的样子,现在的情况是,红色区域是一个窗口、页面、组件这样的,需要在这个组件之外的地方单击就隐藏这个组件,以前的想法很简单,就是通过坐标判断,现在这个红色的区域的结构比较复杂,所以不知道有什么样的方式可以解决,后来遇到了一个网友,给了我一段代码,我觉得还不错,我觉得算是技巧性的东西吧!所以分享一下
,在黑色的区域监听单击事件,然后在单击事件的处理函数中通过contains方法判断。代码如下所示
代码如下:
public functionclickHandler(event:MouseEvent):void
{
if(!红色区域.contains(event.target asDisplayObject) && !绿色区域.contains(event.target as DisplayObject))
{
红色区域.visible = false;
}
}
这段代码,我认为还是比较一种好的解决方案。最开始的想法是通过坐标来判断,然后又冒出了一个想法就是在红色区域上监听鼠标离开,在离开的处理函数中监听单击的事件,这种方法好像不好使。于是问了一下网友,就知道了这种方法。
这里还有一个小插曲我的qq头像是路飞的,很巧合的是帮助我解决问题的是一个索隆头像的网友,解决完问题之后,他还叫了我一声船长,很有趣啊!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程