Flex 中的Event Propogation

          Flex中的Event傳遞主要有三個階段:capturing, targeting, bubbling。比如一個Button收到了一個消息,首先會從其根父UI Object上開始逐步Capture直到其父Object,然后由該Button履行Target階段,最后再以Capture相反的方向Bubble。當然這些階段都是相對DisplayObject來說的,對于其他的Object比如Socket,Event只會交給Target對象處理。

          先來看Capture階段:

          這個階段是從父到子的一個過程,典型應用:myPanel.addEventListener(MouseEvent.MOUSE_DOWN, clickHandler, true);

          注意第三個參數useCapture被設為true,表示clickHandler只想處理Capture過程的事件,如果還想處理bubble階段的事件,那么必須再以useCapture=false調用一次addEventListener

          Flex Develop Guide中有一句話:The capturing phase is very rarely used, and it can also be computationally intensive. By contrast, bubbling is much more common.我還不是特別理解,先寫下來再說吧。

          再看Target階段:

          這個很簡單,由DispatchEvent的對象直接處理。

          然后是Bubble階段。Bubble階段只有bubbles屬性為true的Event才會有這個過程,包括change, click, doubleClick, keyDown, keyUp, mouseDown, and mouseUp等事件。對于自定義事件,bubbles能否設成true還未知,因為它似乎是只讀的,還有待驗證。

          posted on 2007-09-19 22:51 雁過無痕 閱讀(682) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2007年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(7)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新河县| 湄潭县| 江达县| 涟源市| 和田县| 黔南| 新巴尔虎左旗| 简阳市| 贞丰县| 贵阳市| 应城市| 浮梁县| 内丘县| 织金县| 营口市| 陇南市| 株洲市| 东阳市| 峨眉山市| 克山县| 崇左市| 行唐县| 东海县| 北海市| 仁布县| 马公市| 滨海县| 双流县| 合川市| 垣曲县| 乌海市| 克山县| 河津市| 额济纳旗| 灌云县| 南宫市| 高雄县| 璧山县| 日照市| 涞源县| 子洲县|