AS3 默认事件传参

在制作一些一个面板包含多状态的时候

通常为了简便

控制状态的按钮(状态A的按钮,状态B按钮...)都会去监听同一个click事件

可以借助 btn.name 来区别点击的按钮,但往往只能记录一个参数

 

这时候想要事件传多个参数

又想要偷懒 不想去自定义一个新的事件来保存参数

可以考虑借助返回函数的方式来传递参数

代码
// 要传递的参数
var value:int = 100;
// 触发事件的按钮
var btn:Btn = new Btn;
btn.addEventListener(MouseEvent.CLICK,clickHandler(value));

// 返回事件处理的函数
function clickHandler(v:int):Funciton
{
return function (e:MouseEvent):void{
//处理传入的参数 V
doSomeThing(v);
}
}

 

 

注意:

这里在btn 添加监听事件时 传入的 是 value (简单类型int)

传入的将是固定的值 100.

想使用各种变量

可以加在直接在返回的函数中,不需要经过clickHandler()里面传参,或者传入引用对象

 

posted @ 2010-07-06 13:45  yinaak  阅读(500)  评论(0编辑  收藏  举报