由於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的方式…….
但是…怎麼覺得有點像硬湊出來的@@