menubar komponent problem
Hej, jeg har en menu lavet med xml og menubar komponentet.Jeg fanger fint diverse 'klik' på niveau2 med en listener, - det jeg også gerne vil er at fange 'klik' på niveau1 i menuen altså:
niveau1 niveau1 niveau 1
niveau2 niveau2 niveau2
niveau2 niveau2 niveau2
niveau2 niveau2 niveau2
altså 3 hoved links med dropdown.
Så hvordan fanger jeg events på niveau 1?
P.S. her er min kode:
//#include "menuBar_v1.as"
import mx.controls.Menu;
var sitesMenu:Menu;
var blogsMenu:Menu;
_global.antal_menu_punkter = 5;
var myXML:XML = new XML ();
myXML.ignoreWhite = true;
myXML.load ("menu.xml");
myXML.onLoad = function (success:Boolean)
{
if (success)
{
trace ("XML loaded.");
myMenuBar.dataProvider = this;
init ();
//trace(this.getMenuItemAt(0)); // sites node
//trace(this.getMenuItemAt(1)); // blogs node
}
else
{
trace ("Error loading XML file");
}
};
function init ():Void
{
for (var i = 0; i < _global.antal_menu_punkter; i++)
{
sitesMenu = myMenuBar.getMenuAt (i);
sitesMenu.addEventListener ("change", menuListener);
}
}
var menuListener:Object = new Object ();
menuListener.change = function (evt:Object)
{
/* evt object contains 4 properties:
1) menuBar:MovieClip - Reference to MenuBar instance (undefined if no MenuBar exists)
2) menu:MovieClip - Reference to Menu instance
3) menuItem:XMLNode - Example: <link label="Home" instanceName="cmx" url="http://www.communitymx.com/" />
4) groupName:String - Name of radio button group to which item belongs (undefined if item is not in radio button group)
*/
trace ("evt.menuBar = " + evt.menuBar);
var menu:MovieClip = evt.menu;
var menuItem:XMLNode = evt.menuItem;
if (String (evt.menu) == String ("_level0.depthChild" + (_global.antal_menu_punkter - 1)))
{
trace ("du trykkede på det sidste punkt");
}
//trace("blogsMenu: " + blogsMenu); // Result: _level0.depthChild1
//trace("menuBar: " + evt.menuBar); // Result: _level0.myMenuBar
//trace("menu: " + evt.menu); // Result: _level0.depthChild1
//trace("menuItem: " + evt.menuItem); // Result: <link label="Home" instanceName="cmx" url="http://www.communitymx.com/" />
//trace("menu.cmx: " + menu.cmx); // Result: <link label="Home" instanceName="cmx" url="http://www.communitymx.com/" />
switch (menu)
{
case sitesMenu :
trace ("You chose Sites menu: " + menuItem);
break;
case blogsMenu :
trace ("You chose Blogs menu: " + menuItem);
}
switch (menuItem)
{
case menu.cmx :
trace ("cmx tested true");
break;
case menu.calendar :
trace ("calendar tested true");
break;
case menu.mm :
trace ("mm tested true");
break;
case menu.devnet :
trace ("devnet tested true");
}
};
vh
KalleBalle
