AS3-为数组中的每个元素传递一个具有不同参数的点击事件
AS3- For every element in the array pass a click event with different paramters
在动作脚本 3 中,我有一个整数对象数组,我将其作为数据提供者传递给 TileList 控件。我希望点击的每个数字都能调用具有唯一参数的函数,因此对于列表中的每个图像,要调用的函数都有唯一的字符串参数值。如何在 Action Script 中实现此目的?
对象数组如下:
private var nums:Array = [
{label:"1"},
{label:"2"},
{label:"3"},
{label:"5"},
{label:"6"},
{label:"7"}
];
TileList 控件:
<mx:TileList >
<mx:dataProvider>
{nums}
</mx:dataProvider>
</mx:TileList>
结果是这样的:
1 2 3 4
5 6 7
对于每个点击的数字,我想将以下函数与一条消息绑定:
function alertMsg(var message:String){
Alert.show(message);
}
传递的消息示例是(点击 1:你好 | 点击 2:Wilkommen)等
谢谢
向 nums
数组中的每个元素添加新参数:
{label: "1", data:"Hello"},
{label: "2", data:"Wilkommen"}
...
TileList
class有一个selectedItem
属性。 selectedItem
是一个对象。所以很容易得到data
变量的值
tile_list.selectedItem.data
使用 'close' 标记添加 Combobox 更改事件侦听器处理程序,并像您一样添加 dataprovider 标记 laso。
<mx:ComboBox dataProvider="{nums}" close="getData(event);">
</mx:ComboBox>
并创建一个带有附加参数的 Arraycollection
[Bindable]
private var nums:ArrayCollection = new ArrayCollection( [
{label:"1", data:"One"},
{label:"2", data:"Two"},
{label:"3", data:"Three"}
]);
然后实现如下的detData(event)函数
private function getData(e:DropdownEvent):void{
Alert.show(e.currentTarget.selectedItem.data);
}
在动作脚本 3 中,我有一个整数对象数组,我将其作为数据提供者传递给 TileList 控件。我希望点击的每个数字都能调用具有唯一参数的函数,因此对于列表中的每个图像,要调用的函数都有唯一的字符串参数值。如何在 Action Script 中实现此目的?
对象数组如下:
private var nums:Array = [
{label:"1"},
{label:"2"},
{label:"3"},
{label:"5"},
{label:"6"},
{label:"7"}
];
TileList 控件:
<mx:TileList >
<mx:dataProvider>
{nums}
</mx:dataProvider>
</mx:TileList>
结果是这样的:
1 2 3 4
5 6 7
对于每个点击的数字,我想将以下函数与一条消息绑定:
function alertMsg(var message:String){
Alert.show(message);
}
传递的消息示例是(点击 1:你好 | 点击 2:Wilkommen)等
谢谢
向 nums
数组中的每个元素添加新参数:
{label: "1", data:"Hello"},
{label: "2", data:"Wilkommen"}
...
TileList
class有一个selectedItem
属性。 selectedItem
是一个对象。所以很容易得到data
变量的值
tile_list.selectedItem.data
使用 'close' 标记添加 Combobox 更改事件侦听器处理程序,并像您一样添加 dataprovider 标记 laso。
<mx:ComboBox dataProvider="{nums}" close="getData(event);">
</mx:ComboBox>
并创建一个带有附加参数的 Arraycollection
[Bindable]
private var nums:ArrayCollection = new ArrayCollection( [
{label:"1", data:"One"},
{label:"2", data:"Two"},
{label:"3", data:"Three"}
]);
然后实现如下的detData(event)函数
private function getData(e:DropdownEvent):void{
Alert.show(e.currentTarget.selectedItem.data);
}