• flash事件冒泡的理解


    1.事件冒泡只针对于显示对象事件的处理。非显示对象此功能无效。

    2.对于显示对象,事件处理包括三个阶段:捕获阶段,目标阶段,冒泡阶段。

    目标对象是理解这三个阶段的关键。

    目标对象,即派发事件的对象。如果是鼠标事件,则是舞台离stage层次最远的鼠标响应对象target(即舞台最上层响应到鼠标的对象)。

    捕获阶段对象:stage--……target.parent.parent--target.parent 如设置了捕获阶段响应,则触发事件执行方法

    目标阶段对象:target  触发事件执行方法

    冒泡阶段:target.parent--target.parent.parent……stage 如设置了冒泡阶段响应,则触发事件执行方法

    3.不是所有的显示对象的事件都会有上门三个阶段,事件是否具有冒泡阶段是通过参数控制的。

    this.dispatchEvent(new Event("cevent",false)); 这样发了一个事件

    蓝色参数false表示发事件时不冒泡,true表示发事件时冒泡

     a.addEventListener("cevent",function():void{trace("原始论坛目标发出的事件");},false);

    红色参数false表示侦听目标或冒泡阶段事件,true表示侦听在捕获、目标阶段的事件。(无论如何设置,捕获阶段和冒泡阶段的响应是互斥的,即一次事件流循环中只能响应一次)

    4.同一个对象的同一事件,捕获阶段和冒泡阶段是互斥的,打开了捕获阶段的接听。

    adobe官方关于使用事件流机制进行优化的案例

    http://help.adobe.com/zh_CN/as3/mobile/WS948100b6829bd5a67edfb831266c0b5fc6-8000.html




  • 相关阅读:
    第二章:变量和简单数据类型
    第四章:操作列表
    第三章:列表简介
    老男孩Day6作业:计算器
    老男孩Day5作业:电子银行购物商城
    老男孩Day4作业:员工信息查询系统
    老男孩Day3作业:工资管理系统
    老男孩Day2作业:购物车程序
    改进地图的vo类
    slam kf
  • 原文地址:https://www.cnblogs.com/hisiqi/p/3074492.html
Copyright © 2020-2023  润新知