易截截图软件、单文件、免安装、纯绿色、仅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中父窗口与子窗口的通信

假设父窗口是p,子窗口是c,子窗口进行操作后返回父窗口
父窗口:
var flag:Boolean = false;
var c:pop = pop(PopUpManager.createPopUp(this,pop,false)); // 新建子窗体对象
c.callFunction = this.fresh; // 子窗体中可以调用的父窗体函数(这里是子窗体关闭时,用来刷新父窗体的内容
function fresh():void
  ......

FABridge教程(Flex+Ajax) 2

首先在fademo.mxml中声明一个button,并添加一个btnClick方法:
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   
             ......

flex的自定义事件

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

利用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 ......

Flex的DataGrid中时间如何格式化

第一:拉个DateFormatter 控件
<mx:DateFormatter id="df" formatString="YYYY-MM-DD"/>
精确到时分秒则是YYYY-MM-DD H:NN:SS
第二:写个函数
    private function formatStart(item:Object,column:DataGridColumn):String{
            ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号