zoukankan      html  css  js  c++  java
  • 在Flex中推断是否在组件之外单击的技巧

    在Flex中推断是否在组件之外单击的技巧

    昨天在做Flex开发的时候,遇到了这样一种操作,之前也遇到过,那时的办法不是非常好,今天又碰上了类似的问题。先看一张图吧!


    这是系统界面大概的样子。如今的情况是。红色区域是一个窗体、页面、组件这种,须要在这个组件之外的地方单击就隐藏这个组件,曾经的想法非常easy,就是通过坐标推断。可是如今这个红色的区域的结构比較复杂,所以不知道有什么样的方式能够解决,后来遇到了一个网友。给了我一段代码,我认为还不错,我认为算是技巧性的东西吧!

    所以分享一下:

    首先。在黑色的区域监听单击事件。然后在单击事件的处理函数中通过contains方法推断。

    代码例如以下所看到的:

    public functionclickHandler(event:MouseEvent):void

    {

           if(!红色区域.contains(event.target asDisplayObject) && !绿色区域.contains(event.target as DisplayObject))

           {

                  红色区域.visible = false;

           }

    }

    这段代码。我觉得还是比較一种好的解决方式。

    最開始的想法是通过坐标来推断,然后又冒出了一个想法就是在红色区域上监听鼠标离开,在离开的处理函数中监听单击的事件,可是这样的方法好像不好使。于是问了一下网友,就知道了这样的方法。

    这里另一个小插曲:我的qq头像是路飞的。非常巧合的是帮助我解决这个问题的是一个索隆头像的网友,解决完问题之后,他还叫了我一声船长,非常有趣啊!

  • 相关阅读:
    <linux程序设计> 第四章 [ 程序参数 / 环境变量 / 日期与时间]
    阻塞分析
    架构设计分类
    软件测试
    C#中常用的加密类
    SQL2005
    用异或的性质实现简单加密解密
    在sql中取系统时间?日期?年?
    SQL Server常用到的几个设置选项
    Connection Command[ExecuteNonQuery ExecuteScalar ExecuteReader] DataReader DataAdapter DataSet
  • 原文地址:https://www.cnblogs.com/llguanli/p/6994988.html
Copyright © 2011-2022 走看看