remove, removed, removeFromStage 的差異
remove:
mx.events.FlexEvent.REMOVE
removed:
flash.events.Event.REMOVED
removedFromStage:
flash.events.Event.REMOVED_FROM_STAGE
看到它們的 package name 應該就瞭了吧?
其中 remove 最好辨識,它是 mx.* 下面的事件,由 UIComponent 定義,簡單來說可規納為 framework event。
removed 與 removedFromStage 則是 flash.*,屬於 player level event,由 DisplayObject 內義,屬於系統事件。
使用上比較需要注意的差異在於:
removed: 只針對目前操作中的 DisplayObject 有作用
removedFromStage: 是會 ripple 的,例如一個 button 包在 box 裏,結果 box 被移除了,button 也會收到一個 removedFromStage event
至於 remove 太高階,很少理它(通常我都會在底層的地方就處理掉這些事了,輪不到 remove 發生了 XD )
ps. 舉一反三,add, added, addedToStage 也是一樣的道理,還有其它的嗎?
by admin


Trackback this post | Subscribe to the comments via RSS Feed