六 05
addEventListener事件监听传递参数
as3中的addEventListener事件监听会自动传递一个事件对象参数给处理函数,可是不能传递其他参数. 如果要为事件处理函数送参数的话可以用这种方法:
见代码:
- var sayHello:String = "欢迎光临www.FlashJ.cn -Flash,Ria技术博客";
- 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);
- }
实例源文件:listener.rar
我个人的做法,往往都是var一个模块级变量用来记录要传递的参数.

六月 6th, 2008 at 05:57
学习了. 鼠标发现一个问题. 你BLOG的CSS.在IE6下右边有点小问题.
[回复]
六月 6th, 2008 at 08:15
我也发现了…问题已修正
[回复]
六月 12th, 2008 at 10:11
聪明!
当时我还想AS3应该会提什么可以传参的,结果还是鼠标的方法好行!
[回复]
八月 12th, 2008 at 10:28
谢谢你了,帮了我大忙。
[回复]
九月 16th, 2008 at 23:38
这是匿名函数!要移除它,怎么做?
[回复]
九月 17th, 2008 at 09:53
匿名函数的事件处理无法移除….所以只是图个方便,并不鼓励这么做。
[回复]
十一月 10th, 2010 15:27
@鼠标炸弹, 这个事件是可以移除的。e.currentTarget.removeEventListener(e.type, arguments.callee);
[回复]
十月 28th, 2008 at 23:22
这个不能在类里面用我发现会出问题。
[回复]
四月 9th, 2010 at 20:15
我在天地会用一个事件监听类也挺方便的,炸弹可以去看看
[回复]