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


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


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

          導航

          統計

          常用鏈接

          留言簿(7)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 蒙阴县| 鹤壁市| 伊川县| 高邑县| 三江| 屏南县| 齐河县| 广宗县| 海原县| 射阳县| 衡阳县| 望谟县| 平江县| 吉木萨尔县| 汉阴县| 德钦县| 和顺县| 定兴县| 阜平县| 霍州市| 南木林县| 伊金霍洛旗| 滦南县| 西吉县| 许昌县| 长治市| 筠连县| 济南市| 临洮县| 祁阳县| 丹东市| 米易县| 朝阳区| 分宜县| 洱源县| 合作市| 东乡| 阿拉尔市| 霍州市| 四子王旗| 山东省|