易截截图软件、单文件、免安装、纯绿色、仅160KB

Flex or JS Event Flow


Flex Event和JS Event一样,都存在一个事件流,这个事件流常常会导致一些啼笑皆非的Bug以及错误; 
Event Flow
l  Capturing:
事件捕获阶段,如果一个按钮B1放在一个Panel P1容器当中,当我们讲P1注册点击事件EP,将B1注册点击事件EB,Panel p1的父容器为Application app;
                                    
              b1.addEventListener(MouseEvent.CLICK,e1);
p1.addEventListener(MouseEvent.CLICK,e2);
app.addEventListener(MouseEvent.CLICK,e3);
 
此时,当我们点击B1的时候,发现EP同时也会得到出发;
从Root元素到点击的元素,中间的所有b1->parent所注册的同类时间都会触发,这种从根到鼠标实际点击的目标元素的过程叫做事件的捕获;
 
App-----àp1----------
 
l  Targeting
目标阶段:此时当经历了capturing阶段以后,事件流流经鼠标直接点击的目标元素,此时目标元素上监听的事件监听器被触发,此时表现为EB被触发;
 
l  Bubbing:
冒泡阶段:顾名思义,此时,事件流经过一次迭代流经了目标元素DOM树上所有节点以后,开始以冒泡的形势,往回流经所有的元素;此时的过程与捕获阶段正好相反;
 
b1.addEventListener(MouseEvent.CLICK,e1);
p1.addEventListener(MouseEvent.CLICK,e2);
app.addEventListener(MouseEvent.CLICK,e3);
 
    的正常顺序分别是触发 e1(目标阶段)--àe2(冒泡阶段)---àe3(冒泡阶段)
 
b1.addEventListener(MouseEvent.CLICK,e1);
p1.addEventListener(MouseEvent.CLICK,e2,true);
app.addEventListener(MouseEvent.CLICK,e3,true);
    addEventListener的第三个参数为use_capture,默认为false,表示此事件监听器在捕获阶段不触发,此时如果设置为true,则事件触发顺序为:
               e3(捕获阶段)-àe2(捕获阶段)àe1(目标阶段)
          


相关文档:

flex调用as2的swf

由于avm版本的问题,flex3无法直接调用flash做的swf文件,弄了一天,最后终于想到了一个办法,将LocalConnect和flex调用as3两种方式攒在了一起,算是暂时把这个问题解决了!
存起来,留着以后修改
第一步:用flash做一个as2的文件
我在里面添加了一个按钮
在第一帧写下面的代码
mybtn.onRelease=function()
 {
......

Flex窗口访问父窗口demo

1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事件。总之,只要按照MVC思路来做就可以了。
2.类似JS,在子窗口的构造函数里增加一个参数,将父窗口传参进去。MXML没有构造函数,用一个属性来保存父窗口 ......

flex的自定义事件

package event
{
    import flash.events.Event;
   
    public class CustomEvent extends Event
    {
        public var evObject:Object;
        public function CustomEvent( ......

MyEclipse6.0添加Flex支持后出现错误。


Flex Project Nature/Add Flex Project Nature 执行后出现以下错误,
 
Severity and Description   Path   Resource    Location   Creation Time   Id
Server SDK: Directory does not contain a Flex SDK. 
需要在工程属性的Flex co ......

利用flex builder 来开发php

因为flex builder 工具是基于eclipse 上的,所以一些开发plug in 在flex builder  也是可以用的.
php:
   Help-->Software Updates-->Find and Install-->Search for new feature to install-->new Reomote site
      URL: http://update.phpeclipse.net/update/st ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号