认识Flex中事件的传播机制

    Flex中的事件传播方向是一个回环,先从根容器发出,到达目标对象后又返回到根容器,即经过以下三个阶段:

    Capturing phase-->Targeting phase-->Bubbling phase.

 

    Capturing phase:从根容器出发,到达目标对象的父容器

    Targeting phase:定位到目标对象

    Bubbling phase:从目标对象的父窗口出发,返回到根容器

    以以下的例子说明:

   Application Application
        Panel
            TitleWindow
                Button

   

    Capturing phase: Application-->TitleWindow

    Targeting phase:Button

    Bubbling phase:TitleWindow-->Application

       

   注意, 大多数情况下,真正的根节点容器应该是Stage,然后是SystemManager,才到Appication.

 

   默认情况下,容器不会在Capturing阶段监听事件,除非显式地调用容器的addEventListener(event_type,funtion,use_captrue)方法,将use_capture参数置为true时,才会在事件传播的capturing阶段触发事件。如果一个容器的事件监听在capturing阶段捕捉到事件后,事件仍会流传下去,亦即是会经过bubbling阶段,但在bubbling阶段,此容器对这个事件的监听不会发生作用。即是说,如果一个容器想在capturing和bubbling两个阶段的监听都发生作用,就要注册两次监听,一次use_capture参数设置为true,别一次设置为false。

 

 

 

  

  

你可能感兴趣的:(Flex)