<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    samtiger


    QQ:418148757
    Name:yangchuan
    數(shù)據(jù)加載中……
    flex基礎(chǔ)之事件機(jī)制

    Flex事件執(zhí)行流程:
    第一階段為:1:捕獲階段,第二階段為:(2:目標(biāo)階段,3:冒泡階段)。
    所以:addEventListener方法注冊(cè)的監(jiān)聽(tīng)器有兩種,第一種是處理捕獲階段的監(jiān)聽(tīng)器(addEventListener的第三個(gè)參數(shù)useCapture 為true)
    第二種就是處理目標(biāo)和冒泡階段的監(jiān)聽(tīng)器(第三個(gè)參數(shù)useCapture 為false)。

    捕獲階段流程:
    Flex會(huì)去查找事件的觸發(fā)源,它是通過(guò)根顯示元素(root display object)逐層向下尋蹤,并從上往下,依次觸發(fā)這些節(jié)點(diǎn)的當(dāng)前事件的處理函數(shù)(如果他們都用捕獲階段的監(jiān)聽(tīng)器注冊(cè)了這個(gè)事件)直到找到事件發(fā)起源頭的父節(jié)點(diǎn)。并觸發(fā)完父節(jié)點(diǎn)的這個(gè)事件為止。但它不會(huì)調(diào)用事件觸發(fā)源節(jié)點(diǎn)的事件。
    例如:
    test.mxml文件下:
    application節(jié)點(diǎn)--vbox(id=vb)節(jié)點(diǎn)--button(id=bt)節(jié)點(diǎn)。


    如果在application的creationComplete中:將以上所有組件的click事件注冊(cè)為捕獲監(jiān)聽(tīng)器。
    如:
    addEventListener(MouseEvent.CLICK, btnClick2, true); 
    vb.addEventListener(MouseEvent.CLICK, btnClick3,true); 
    bt.addEventListener(MouseEvent.CLICK, btnClick4,true); 
    如果在bt上點(diǎn)擊,執(zhí)行流程如下:
    Flash Player會(huì)去查找事件的觸發(fā)源(bt),通過(guò)根顯示元素(root display object)(這里就是application)逐層向下尋蹤,并從上往下,依次調(diào)用它們的click事件(如果他們都注冊(cè)了捕獲階段的click事件)直到找到事件的發(fā)起源頭的父節(jié)點(diǎn),上面例子中會(huì)找到vb,并執(zhí)行完vb的click事件后,就不再查找下邊的bt組件和執(zhí)行它的click事件。

    第二階段:
    一般情況下,第二階段的目標(biāo)階段,也是執(zhí)行mxml文檔的目標(biāo)節(jié)點(diǎn)配置的那個(gè)事件處理函數(shù),然后再處理對(duì)應(yīng)的監(jiān)聽(tīng)器(處理目標(biāo)和冒泡階段的監(jiān)聽(tīng)器)注冊(cè)的那個(gè)處理函數(shù)。

     如果文檔該節(jié)點(diǎn),沒(méi)有配置事件處理,則只執(zhí)行通過(guò)addEventListener注冊(cè)的事件處理方法,否則,如果配置了,就先執(zhí)行mxml的配置函數(shù)處理,接著處理通過(guò)監(jiān)聽(tīng)器注冊(cè)的函數(shù)。

    最后就是冒泡階段:
    這個(gè)階段與捕獲階段相反,它會(huì)從從目標(biāo)節(jié)點(diǎn)的父節(jié)點(diǎn)開(kāi)始依次向上查找并執(zhí)行父節(jié)點(diǎn)的mxml配置事件和通過(guò)監(jiān)聽(tīng)器注冊(cè)的事件處理函數(shù)。(這些處理函數(shù)也是用處理目標(biāo)和冒泡階段的監(jiān)聽(tīng)器注冊(cè)的)


    也就是說(shuō):捕獲階段的事件觸發(fā)只能是用處理這個(gè)階段的監(jiān)聽(tīng)器去注冊(cè)。目標(biāo)和冒泡階段的事件觸發(fā),也只能是處理這個(gè)階段的監(jiān)聽(tīng)器去注冊(cè)。如果,要讓同一個(gè)事件,在捕獲階段或目標(biāo)和冒泡階段都執(zhí)行的話,需要用addEventListener注冊(cè)兩次,將第三個(gè)參數(shù)useCapture true和false各設(shè)置一次。

    posted on 2010-04-14 21:41 sam.chuan.yang 閱讀(310) 評(píng)論(0)  編輯  收藏 所屬分類: flex基礎(chǔ)

    主站蜘蛛池模板: 最新亚洲成av人免费看| 日韩在线看片免费人成视频播放| 亚洲一区二区三区在线视频| 久久亚洲精品无码av| 国产色爽女小说免费看| 亚洲av日韩专区在线观看| 国产午夜影视大全免费观看| 麻豆一区二区三区蜜桃免费| 亚洲v国产v天堂a无码久久| EEUSS影院WWW在线观看免费| ass亚洲**毛茸茸pics| 日日摸夜夜添夜夜免费视频| 亚洲欧洲日本在线| 中文字幕亚洲码在线| 24小时日本在线www免费的| 亚洲爆乳无码专区www| 91网站免费观看| 亚洲高清乱码午夜电影网| 午夜亚洲av永久无码精品| 两个人看的www免费高清| 久久久无码精品亚洲日韩按摩| 国产成人精品久久免费动漫| 亚洲中文字幕无码久久| 亚洲精品无码永久在线观看 | 亚洲AV无码乱码国产麻豆穿越| 暖暖在线视频免费视频| 亚洲国产成人精品无码区在线网站 | 亚洲成在人线在线播放无码| 亚洲成A人片在线观看中文| 免费福利在线视频| 亚洲精品国产首次亮相| 中文字幕不卡亚洲| 日本XXX黄区免费看| 人碰人碰人成人免费视频| 亚洲视频免费一区| 免费看男女下面日出水视频| 在线观看片免费人成视频无码| 亚洲综合另类小说色区色噜噜| 99国产精品免费视频观看| 亚洲欧美国产国产综合一区| 亚洲性猛交XXXX|