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 雁過無痕 閱讀(681) 評論(0)  編輯  收藏


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


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

          導航

          統計

          常用鏈接

          留言簿(7)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阜平县| 宜昌市| 宜城市| 井冈山市| 商南县| 安图县| 上犹县| 南召县| 海口市| 胶州市| 奉新县| 苍溪县| 阳山县| 英山县| 博罗县| 成武县| 海阳市| 大厂| 绿春县| 图们市| 乌拉特中旗| 武城县| 赫章县| 综艺| 凭祥市| 金塔县| 古田县| 梁平县| 永仁县| 腾冲县| 皮山县| 永和县| 通榆县| 永州市| 稻城县| 梁山县| 桓台县| 山阴县| 宜兰市| 浦县| 五大连池市|