在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软件. ...
随机推荐
- 京东首页原生----js制作|css动画|js动画|计时器--轮播图(好久没更新,这两天闲的蛋疼做个京东页面分辨率1366*768,919京东,适应没调!)要文件加关注找我要哦!
- PHP读取数据库表显示到前台
<?php$username=$_GET['uid']; //获取一个值作为查询条件 $result=$db->query("select * from trip where a ...
- idea java项目部署至Tomcat服务器
1. 服务器部署TomCat 1. 安装JDK,配置环境变量 > 变量名:JAVA_HOME;变量值:C:\Program Files\Java\jdk1.7.0_45 ...
- JAVAWEB开发环境搭建,附JDK开发环境一键配置批处理bat
JDK配置: CLASSPATH: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar JAVA_HOME: C:\Program Files\J ...
- Python+selenium打开网页
东西都安装好了,是不是都迫不及待的想要运行一个程序呢? 不过不幸的是,在正式编程打开网页之前,我们还需要做一件事:下载驱动. 据说,在很久之前的selenium1和2中,驱动是被内嵌在selenium ...
- http下载网页
//http.c #include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/ ...
- C#内部关于绑定事件Event的线程安全
private EventHandler _FieldsChanged;public event EventHandler FieldsChanged{ add { Even ...
- C# 程序集安装与卸载
下面我们来实现程序集的安装,代码如下: /// <summary>/// 程序集安装与卸载/// </summary>/// <param name="asse ...
- 用C#实现DES加密解密解决URL参数明文的问题
啥也不说,直接上代码. 加密解码,封装到一个类,key可以自己修改. using System; using System.Security.Cryptography; using System.Te ...
- Python之random
random 伪随机数生成模块.如果不提供seed,默认使用系统时间. 使用相同seed,可获得相同的随机数序列,常用于测试. >>> from random import * &g ...