flash as3.0 动态绑定时间传参问题

2025-03-07 03:51:29
推荐回答(1个)
回答1:

在你的for循环中,你的按钮注册了鼠标点击动作,但这个动作并不是执行,当你点击按钮执行后,参数I就会传递过去,但这时的i因为for循环已经变成了4。所以你每次点击都会出现4。

还有你fun_test方法:参数类型arg:int,但你var out:String= arg; 没报错??

根据你要的结果,方法好多种的。
比如:
for (var i:uint = 0; i<= 3; i++)
{
this["t"+i.toString()].addEventListener(MouseEvent.CLICK,fun_test);
}

function fun_test(e:MouseEvent):void{
var out:String=e.target.name.substr(1,1); //substr()返回你的按钮一个子字符串
}