此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

  • 网站主页
  • 中心简介
  • 新闻动态
  • 课程详解
  • 师资力量
  • 招生问答
  • 就业广场
  • 在线报名
  • 学习园地
  • 证书查询
  • 唐城论坛
  • 陈老师  程老师  2010年唐城开学典礼 |2010年招生简章 |高考生专区 |中专/职高生专区 |大学生专区 |技术讲座 |春季就业班 |北大青鸟学费
    • 1
    • 2
    • 3
    热点新闻学习园地求职技巧
    北大青鸟IT教育咨询热线:010-65595970
    北大青鸟北京唐城中心开班信息
    报名截止 班级类型 报名情况
    09月24日白领就业班热招中
    09月20日青鸟尖子班热招中
    09月17日高考生特招班余10座
    09月13日高考补录班余5座
    09月10日CBD就业班已满
    北大青鸟唐城中心技术团
    内容:网页设计,3G揭秘等
    时间:每周三 下午13:30
          每周六 下午13:30
    主讲:北大青鸟资深IT专家
    地址:北大青鸟唐城报告厅
    人数:25人
    预约热线:010-65003443

    点击查看详情>>>
    您的位置:北大青鸟首页->唐城技术团

    AS 3 学习笔记【25】(原创连载)

    发布日期:2009-05-15

     第18章 事件发送和处理

    昨日忘记发了,今天补充上。

    *事件(Event)处理机制的产生和原理

    AS 3采用DOM3事件模型来解决有效安全地交流信息的问题。DOM3事件的优点在于,事件发送者只需要发送事件对象,事件监听者只需要接受事件对象。事件接收者可以改变自己的外部接口,只需要确保发送的事件对象不变即可。事件监听者也不必关心事件接收者是否变化,只需要保证自己能够正确处理接收到的事件对象即可。
           DOM3事件的执行流程:

    • 注册侦听器(Add Event Listener):即指定发出的事件由哪个对象方法来接受。
    • 发送事件
    • 侦听事件
    • 移除侦听器
      *ActionScript 3事件机制的新特色

      AS 3事件处理机制形式上的不同:
    • 首先,注册侦听形式同意。全部事件侦听清一色使用assEventListener( )。
    • 其次,侦听器同意使用Function,不再允许使用Object当侦听器。
    • 最后,所发送的事件对象,必须是Event或其子类的实例。


    新特色,事件流机制与试图元件的紧密结合:AS 3中所有显示对象(指舞台上的元件)可以接受和发送事件。在AS 3中也引入了崭新的事件流机制。如果一个显示对象是一个容器,包含着一些子显示对象,那么子显示对象接收到了鼠标事件,就可以层层上递到它的父容器,直到最上层的舞台。

    新特色,侦听器优先级:在AS 3中注册侦听器时,可以设置侦听器优先级,从而控制侦听器的执行顺序。不填的时候默认为0。

    新特色,侦听器弱引用:如果侦听器设为弱引用,而且在程序运行的时候只剩下了这一个弱引用指向侦听器,那么垃圾回收器可以不理它,直接就把侦听器回收了,可以节省资源。

    *事件

    Event类的属性:Event类公开的实例属性只有6个:type、target、currentTarget、eventPhase、bubbles、cancelable。这些属性都是只读属性。其中只有type、bubbles、cancelable可以由用户在构造函数中指定初值。

    • Type用来存储事件对象的名称,是字符串类型。
    • Target是Object类型,持有引用、指向最初发出事件的那个对象。
    • currentTarget、eventPhase、bubbles这3个属性和事件流机制相关。
    • Cancelable属性是一个布尔值,表示这个事件引起的默认动作是否可以被取消。这个属性一般是和preventDefault( )方法结合在一块儿使用的。

    Event类的构造函数:Event类的构造函数有3个参数分别是type、bubbles、cancelable3个属性。其中bubbles、cancelable默认值是false。一般情况下只使用type一个参数创建Event对象。

    Event类的方法:clone( )、formatToString( )、toString( )、isDefaultPrevented( )、preventDefault( )、stopImmediatePropagation( )、stopPropagation( )

    自定义事件类:当需要在事件对象中加入额外的属性或方法时,才需要自定义事件类。如不需要额外加入属性和方法,那么使用“new Event(“新事件名称”)”就可以发送出“新事件名称”类型的事件对象。

    *侦听器

    在AS 3中侦听器必须是Function(函数类型)。

    创建侦听器:侦听器必须只有一个参数,且这个参数必须是Event类实例或其子类的实例,而且返回值必须为空

    复制内容到剪贴板
    代码:
    Function litenerName(evt : Event) : void {……}
    侦听器中的this关键字:在类方法中this就指向当前类实例对象,使用在包外定义的function做侦听,那么this就指向Global。

    注册侦听器和移除侦听器:只有事件发送者才可以注册侦听器,事件发送者必须是EventDispatcher类或其子类的实例。
    复制内容到剪贴板
    代码:
    事件发送者.addEventListenner(事件类型,侦听器);
    //注册侦听器
    事件发送者.removeEventListenner(事件类型,侦听器);
    //移除侦听器代码


    检测事件侦听器:hasEventListenner( )方法和willTragger( )方法,都可以检测当前的事件发送者是否为了某事件类型注册了侦听器。有返回true,没有返回false。
          
    *自定义类发送事件的3种方式

    在AS 3中有3种发送事件的方式:

    • 继承EventDispatcher类
    • 复合EventDispatcher对象
    • 实现IEventDispatcher接口


    继承EventDispatcher类:让自定义类直接继承EventDispatcher

    复合EventDispatcher对象:当一个类因为本身已经继承其他类,无法再继承EventDispatcher类时,又不愿意这个类单纯是一个事件发送类,而是执行某个方法时附带发送一些事件,这个事件发送者往往是这个类的组成部分,这种时候使用复合。

    实现IEventDispatcher接口:当一个类因为本身已经继承其他类,无法再继承EventDispatcher类时使用。


    总结:略显生涩,看了半天,还是觉得有点不熟,先放过,回头再看一般吧。
     

    在线报名
     姓名 *:
     性别: 男 女
     年龄*:
     学历*:
     课程: 脱产班 业余班
     您所在地区:
     联系电话*:  
     学习人员:  
     你的状态*: 上学 工作 待业
     您现在哪里上网: 网吧 学校 家里 单位
     您知道本网站的途径*:
    百度 GOOGLE TOM 新浪 搜狐 雅虎 搜狗 贴吧
    社区活动 宣传页 报纸刊物 马路广告牌 朋友介绍 其他网站
     请您留言:
        



    友情链接:广州北大青鸟西安北大青鸟北京北大青鸟北京北大青鸟教育培训武汉北大青鸟福州北大青鸟洛阳北大青鸟广州投资策划播音主持培训够级武汉北大青鸟徐州北大青鸟二级建筑师网珠海培训网安徽北大青鸟深圳北大青鸟苏州北大青鸟北大青鸟西安毕诚郑州北大青鸟北大青鸟徐州北大青鸟
    招生简章|招聘信息|北大青鸟地址|中心地图|在线报名|北大青鸟怎么样
    北京亿网互动科技有限公司版权所有
    地址:北京市朝阳区红庙北里64号楼(北大青鸟院内)
    电话:010-65003443
    传真:010-65000071-6802
    京ICP备08003493号
    本站关键词:

    北京北大青鸟

     

    北大青鸟

      北大青鸟总部