由於MeunBar第一層的MouseDown不會直接被監聽到
但我是希望在沒有第二層下的狀況也要出個聲音
本來是想直接override mouseDownHandler()
可是他一直跟我說要”使用override標籤必須要覆寫已存在函式”
想了很久 用下列的方式算是測出來了
public function myMenuBar() { super(); this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); } private function mouseDownHandler(event:MouseEvent):void{ var item:IMenuBarItemRenderer = IMenuBarItemRenderer(event.target); var index:int = item.menuBarItemIndex; var m:Menu = getMenuAt(index); if (!(m.dataDescriptor.isBranch(item.data, item.data) && m.dataDescriptor.hasChildren(item.data, item.data))) { trace("only one!!"); } } |
這樣寫會在執行完MenuBar.as的 mouseDownHandler()後
再來執myMenuBar.as的 mouseDownHandler()
如果要發部event的話
現在是想到用modellocator的方式…….
但是…怎麼覺得有點像硬湊出來的@@