flex 初始化時的事件測試

2021-08-27 01:29:22 字數 1597 閱讀 2964

flex 初始化時的事件測試

flex元件在建立的時候都會經歷四個事件:preinitialize, initialize, creationcomplete和

updatecomplete(updatecomplete事件在任何改動視覺的情況下都會發生,不是初始化時獨有的)。

我這裡有個例子來檢測在巢狀和平行的情況下,測試各個元件的事件丟擲順序。

layout="absolute"

preinitialize="showevent(event)"

initialize="showevent(event)"

creationcomplete="showevent(event)"

updatecomplete="showevent(event)">

> "+event.currenttarget.name+" "+event.type);

} ]]>

它的輸出是:

1299 >> eventtest0 preinitialize

1307 >> canv1 preinitialize

1310 >> btn1 preinitialize

1318 >> btn1 initialize

1319 >> canv1 initialize

1320 >> btn2 preinitialize

1321 >> btn2 initialize

1321 >> eventtest0 initialize

[swf] g:\projects\eventtest\bin-debug\eventtest.swf 588,818 bytes after decompression

1387 >> btn1 creationcomplete

1387 >> btn1 updatecomplete

1387 >> canv1 creationcomplete

1387 >> canv1 updatecomplete

1388 >> btn2 creationcomplete

1388 >> btn2 updatecomplete

1388 >> eventtest0 creationcomplete

1390 >> eventtest0 updatecomplete

看著有點混亂,不過仔細看看,可以把過程分成兩個部分。很明顯,所有的creationcomplete和updatecomplete發生在第二次update的時候,

之前flex元件只是做一些設定和計算的工作,並沒有在畫布上畫任何東西。除此以外,還有這麼一些規律:

* 就單個元件而言,事件的丟擲順序是preinitialize,initialize,creationcomplete

* 巢狀關係的兩個元件(比如canvas和button1),preinitialize先外後內,initialize和creationcomplete先內後外。只是creationcomplete要在下一次update才會發生。

* 平行關係的兩個元件(比如canvas和button2),按mxml內的順序,只有前面元件initialize結束後,後面的元件才會丟擲preinitialize。

flex初始化時的事件測試

flex元件在建立的時候都會經歷四個事件 preinitialize,initialize,creationcomplete和updatecomplete updatecomplete事件在任何改動視覺的情況下都會發生,不是初始化時獨有的 我這裡有個例子來檢測在巢狀和平行的情況下,測試各個元件的事件...

Flex 初始化時全屏的問題

stage.displaystate stagedisplaystate.full screen 在上面這種情況下,不響應鍵盤事件,下面全屏後仍然響應鍵盤事件,不過只是在air下才有這個模式哦。stage.displaystate stagedisplaystate.full screen inte...

Flex初始化時載入外部XML

flex初始化時載入外部xml配置檔案 flex專案中經常需要同伺服器進行資料互動,可以將伺服器訪問位址寫到到xml配置中,在flex初始化時讀取到記憶體。省去因伺服器位址變化而重新編譯flex程式的麻煩。1 新增xml配置檔案 config.xml http localhost 2286 http...