Adobe Flash AS3:获取具有MouseEvent的列表中所选项的数据

时间:2013-02-16 09:18:40

标签: actionscript-3 flash-cs4

我有一个歌曲列表,如果我双击一个项目,它将播放该歌曲。我是这样做的。 aList是列表的实例名称。

aList.addEventListener(MouseEvent.DOUBLE_CLICK, changeSong);

function changeSong(e:MouseEvent) {
     ....
     song = e.target.selectedItem.data;
     ....
}

我在(song = e.target.selectedItem.data;)部分有错误。好像我使用了错误的财产。

ReferenceError: Error #1069: Property selectedItem not found on    fl.controls.listClasses.CellRenderer and there is no default value.
at playlist_fla::MainTimeline/changeSong()

有谁知道如何正确获取项目的数据。因为我觉得我的语法错了。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您将哪些内容指定为List组件的dataProvider?

e.target.data是一个具有其他属性的对象。

如果您不确定数据对象的属性,可以通过以下方式迭代:

for (var property:String in data)
{
    trace("data." + property + " = " + data[property]);
}

如果它是您尝试分配给歌曲变量的标准itemRenderer的标签,那么您可能会成功:

song = e.target.listData.label;