在Flex中推断是否在组件之外单击的技巧
在Flex中推断是否在组件之外单击的技巧
昨天在做Flex开发的时候。遇到了这样一种操作,之前也遇到过。那时的办法不是非常好,今天又碰上了类似的问题,先看一张图吧!
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG9uZ3l1aG9tZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
这是系统界面大概的样子,如今的情况是。红色区域是一个窗体、页面、组件这种,须要在这个组件之外的地方单击就隐藏这个组件。曾经的想法非常easy,就是通过坐标推断,可是如今这个红色的区域的结构比較复杂,所以不知道有什么样的方式能够解决,后来遇到了一个网友,给了我一段代码,我认为还不错,我认为算是技巧性的东西吧。所以分享一下:
首先,在黑色的区域监听单击事件,然后在单击事件的处理函数中通过contains方法推断。代码例如以下所看到的:
public functionclickHandler(event:MouseEvent):void
{
if(!红色区域.contains(event.target asDisplayObject) && !绿色区域.contains(event.target as DisplayObject))
{
红色区域.visible = false;
}
}
这段代码,我觉得还是比較一种好的解决方式。最開始的想法是通过坐标来推断,然后又冒出了一个想法就是在红色区域上监听鼠标离开。在离开的处理函数中监听单击的事件,可是这样的方法好像不好使。
于是问了一下网友,就知道了这样的方法。
这里另一个小插曲:我的qq头像是路飞的,非常巧合的是帮助我解决这个问题的是一个索隆头像的网友,解决完问题之后,他还叫了我一声船长。非常有趣啊!
在Flex中推断是否在组件之外单击的技巧的更多相关文章
- Flex中设置Camera的视频清晰质量的最佳配合
今天需要设置Flex中的Camera组件的一些属性,后来发现清晰度不是很高,于是捣鼓了上午半天,设置了很多的参数,竟然发现手册上就是有现成的一些设置方法,郁闷!不过我还是专门设置了几个有用和必要的属性 ...
- Flex中escape/encodeURI/encodeURIComponent的区别
Flex中提供了三种转码函数,各有各的区别, escape,encodeURI,encodeURIComponent 这三个函数不仅在flex中有道运用在javascript中同样的含义 ,今天我仔细 ...
- Flex中的FusionCharts 2D饼图
1.设计思路 (1)FusionCharts中有Flex组件文件FusionCharts.swc,这样可以让FusionCharts用Flex展示出来: (2)利用xmlns:components=& ...
- Flex中TitleWindow传值
Flex中TitleWindow传值 1.设计思路 (1)新建一个DataGrid,在其中最后一列加入三个按钮:新增.修改和删除: (2)点击新增按钮,可以将表格新增一行: (3)单击"修改 ...
- Flex中容器的完全隐藏
在html中,但我们设置某个dom元素的display属性为none时,dom元素不可见且其占用空间从dom树上隐藏,而在Flex中,但我们把某个组件的visible属性visible设为false的 ...
- 【转】flex中的labelFunction(combox和dataGrid)
Flex中,对于显示一个字段,只需要指定对应字段属性给labelField即可,当需要上述所需要的功能的时候就得做个转换了,在Flex的基于List的组件都有一个labelFunction方法能很简单 ...
- 如何在个人博客引擎 Hexo 中添加 Swiftype 搜索组件
在您现在看到的我的博客站点,后台使用的是 Hexo 作为博客引擎,但是默认集成的搜索组件是进行 form 提交到 Google 进行搜索的,为了更好地体验,本文介绍如何在 Hexo 博客中集成 Swi ...
- 一个Angular模块中可以声明哪些组件?
一个Angular模块中可以声明哪些组件? (1) controller 控制器 (2) directive 指令 (3) function ...
- C#操作word或excel及水晶报表,检索 COM 类工厂中 CLSID 为 {} 的组件时失败,原因是出现以下错误: 80070005
解决办法一:<转自http://www.cnblogs.com/Sue_/articles/2123372.html> 具体解决方法如下: 1:在服务器上安装office的Excel软件. ...
随机推荐
- 建立LINUX服务器
建立LINUX服务器:一. 下载UltraISO工具并用该工具制作LINUX启动U盘,制作步骤如下:http://www.linuxidc.com/Linux/2012-11/74695.htm [^ ...
- 【2】hadoop搭建准备软件
准备一:VMware虚拟工具: 链接:http://pan.baidu.com/s/1o7F4A6I 密码:w5ti 准备二:CentOS6.8虚拟机(64位):如果64位不允许安装,可能是电脑设置问 ...
- Oracle 存储过程的导出导入序列的导出
昨天发布网站,需要将oracle的存储过程导出来,再在新的电脑加上去.登陆—>工具—>导出用户对象—>选取需要导出的存储过程—>导出 保存格式为.sql.当然利用该种方法也可以 ...
- 阿里云CentOS搭建系统
1.在阿里云网站上购买申请服务器. 2.通过Xshell连接服务器,并用root账户登入. 3.配置java开发环境:(也可以使用阿里云一键部署,自动配置并部署服务器) 一.安装jdk 1.查看Lin ...
- 解决Webstom 2017中,输入法候选框无法显示问题
一.问题: 如题,IDE编辑界面内,输入法的候选框没法显示,有时需要打中文注释,非常麻烦. 原因:IDE自带的OpenJDK与输入法存在冲突 二.解决: (1)在编辑界面,双shift,搜索:swit ...
- sublime text3添加右键打开的操作
前一段重新安装了Sublime Text3,不过一直不在右键菜单中,所以决定添加,有如下2种方法. 方法一(推荐). 把以下代码,复制到SublimeText3的安装目录,然后重命名为:sublime ...
- 使用apache进行域名绑定
[背景] 项目需要搭建一套mysqlapi的开发环境,进行域名绑定 [方法] 主要方式通过修改apache的vhost配置文件,重启apache服务,以及最终在客户端绑定hosts. 1.查看apac ...
- MySQL plugin结构
1.背景 MySQL插件安装语法如下: 13.7.3.3 INSTALL PLUGIN Syntax INSTALL PLUGIN plugin_name SONAME 'shared_library ...
- Linux 性能搜集【linux_reports-cpu/memory/disks/network】
为方便问题发生后,问题原因的分析排查,我们可以在服务器中事先部署如下脚本,方便故障发生后,问题原因的分析排查 脚本部署方法: 1.将脚本[linux_reports.sh]上传到服务器 2.登陆虚拟机 ...
- 关于laravel 用paginate()取值取不到的问题
前几天在写api的时候,出现了一个比较奇怪的问题,用paginate()方法取值取不到的问题,我奇怪的是,我用paginate()方法取值是直接复制粘贴之前自己写过的api中的代码的,怎么突然取不到了 ...