AS3.0 给addEventListener里的方法加上参数传递

Posted ykingcc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AS3.0 给addEventListener里的方法加上参数传递相关的知识,希望对你有一定的参考价值。

方法一:
for(var i:int=1;i<=4;i++){
this["btn"+i].addEventListener(MouseEvent.CLICK,EventUp(btnClick,i));
}

function btnClick(e:MouseEvent,...arg){
photoMC.gotoAndStop(arg);
}
function EventUp(f:Function,... arg):Function{
return function(e:Event){f.apply(null,[e].concat(arg))};
}

将触发事件的方法包裹在另一个函数里,然后再将e:Event 对象合并到一个数组(加上要传递的参数)。
这里使用apply方法,为btnClick绑定两个参数(e和arg)
之后触发btnClick时,e对应e:MouseEvent,而arg对应...arg

方法二:
var sayHello:String = "xxxxxx";
btn1.addEventListener(MouseEvent.CLICK,function (e:MouseEvent){clickHandlerWithArg(e,sayHello)});
function clickHandlerWithArg(e:MouseEvent,arg:String):void
{
var out:String= e.target + "发出事件(有参数) :" + arg;
trace(out);
}

使用匿名函数里包裹触发事件(加上参数)
参数包括e和value



















以上是关于AS3.0 给addEventListener里的方法加上参数传递的主要内容,如果未能解决你的问题,请参考以下文章

as3.0 判断圆圈正转还是倒转

as3.0加载swf并控制

as3.0点击获取TLF文本的实例名

AS3.0删除数组中指定位置的元素

来人啊。。。。flash as3.0 box2d停止刚体移动问题。

weex页面addEventListener在弱网情况下监听不到appear事件