Flash as3 mouseChildren=true不包含所创建按钮的名称

Flash as3 mouseChildren=true不包含所创建按钮的名称,flash,actionscript-3,actionscript,adobe,Flash,Actionscript 3,Actionscript,Adobe,/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } } 这是给我带来麻烦的线索 private function onClick(e:MouseEvent):void{ var myString=e.target.name;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } }

这是给我带来麻烦的线索

private function onClick(e:MouseEvent):void{
            var myString=e.target.name;
            var aList:Array = myString.split("_");
            trace(myString+" gfgfgfg "+argh[0].name);

            main.video_controller.nsStream.pause();
            main.video_controller.nsStream.close();
            main.btn_continue.visible=true;             
            main.btn_previous.visible=true;

            if(e.target.name==xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]].attribute("id")){

            main.removeActivity();
            loadToolBox(xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]]);                   
            main.loadModule(xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]]);
            menu1ID=aList[0];
            menu2ID=aList[1];
            menu3ID=aList[2];
myString正在跟踪(instance263)或其他任何东西


那么为什么e.target不跟踪我的仪器名称呢?

在MouseEvent中,请记住
target
属性是指最初调度事件的显示对象。如果您的按钮包含图形等内容,
target
可能指的是按钮的子显示对象之一,即实际单击的最低级别的对象

您可能想改用
e.currentTarget
。当事件在显示列表中冒泡时,它指向当前正在接收事件的对象,该对象将是放置侦听器的按钮对象


如果您不清楚事件冒泡是如何工作的,那么这就没有多大意义。例如,尝试一下。

您是否尝试过在初始化bButton时跟踪XML[l].thirdMenu[k].attribute(“id”)?是否可以创建一个最小的示例案例?@Richard Inglis我已经跟踪了它,似乎我确实获得了菜单第二级的实例名称。然而,当我点击第二层中的一个项目时,我只剩下“instance263”或其他数字。
private function onClick(e:MouseEvent):void{
            var myString=e.target.name;
            var aList:Array = myString.split("_");
            trace(myString+" gfgfgfg "+argh[0].name);

            main.video_controller.nsStream.pause();
            main.video_controller.nsStream.close();
            main.btn_continue.visible=true;             
            main.btn_previous.visible=true;

            if(e.target.name==xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]].attribute("id")){

            main.removeActivity();
            loadToolBox(xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]]);                   
            main.loadModule(xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]]);
            menu1ID=aList[0];
            menu2ID=aList[1];
            menu3ID=aList[2];
trace(myString+" gfgfgfg "+argh[0].name);