Actionscript 3 我需要您在列表框actionscript3.0中提供帮助 导入fl.data.DataProvider; 导入fl.controls.List; var urlLoc:String=新字符串(); var dp:DataProvider=newdataprovider(); 对于(var i:uint=1;i

Actionscript 3 我需要您在列表框actionscript3.0中提供帮助 导入fl.data.DataProvider; 导入fl.controls.List; var urlLoc:String=新字符串(); var dp:DataProvider=newdataprovider(); 对于(var i:uint=1;i,actionscript-3,flash-cs5,Actionscript 3,Flash Cs5,按钮事件似乎在列表中冒泡。您希望事件侦听器在向上和向下按钮上启动,还是仅在列表本身上启动 你可以试试: import fl.data.DataProvider; import fl.controls.List; var urlLoc:String = new String(); var dp:DataProvider = new DataProvider(); for (var i:uint = 1; i<=5; i++){ dp.addItem( { label:"Channel

按钮事件似乎在列表中冒泡。您希望事件侦听器在向上和向下按钮上启动,还是仅在列表本身上启动

你可以试试:

import fl.data.DataProvider;
import fl.controls.List;
var urlLoc:String = new String();
var dp:DataProvider = new DataProvider();
for (var i:uint = 1; i<=5; i++){
    dp.addItem( { label:"Channel" +i ,ben : "musicList"+i+".xml"}  );
}

var list:List = new List();
list.dataProvider = dp;
addChild(list);
list.setSize(140,60);
list.addEventListener(MouseEvent.CLICK, action);
function action(e:MouseEvent):void{
    urlLoc = e.target.data.ben;
    trace(urlLoc);
}

我认为列表中没有属性数据。我猜您希望获取所选项目。请尝试:

function action(e:MouseEvent):void{
    if(evt.target is List) {
        urlLoc = e.target.data.ben;
        trace(urlLoc);
    }
}

U对侦听器对象产生了问题。 更改事件处理程序
事件。更改
而不是“
MouseEvent。单击


我没有遇到错误。但是我无法跟踪列表值。我使用EVENT.CHANGE而不是MouseEvent.CLICK。它现在工作正常。感谢您的回答。我使用EVENT.CHANGE而不是MouseEvent.CLICK。它现在工作正常。感谢您的回答。
urlLoc = e.target.selectedItem.ben;
list.addEventListener(Event.CHANGE, action);