05

addEventListener事件监听传递参数

类别: Flash\Ria鼠标炸弹 @ 2008.06.05 15:34 已阅10,972次
标签: , , ,

as3中的addEventListener事件监听会自动传递一个事件对象参数给处理函数,可是不能传递其他参数. 如果要为事件处理函数送参数的话可以用这种方法:
见代码:

  1. var sayHello:String = "欢迎光临www.FlashJ.cn -Flash,Ria技术博客";
  2. btn1.addEventListener(MouseEvent.CLICK,function (e:MouseEvent){clickHandlerWithArg(e,sayHello)});
  3. function clickHandlerWithArg(e:MouseEvent,arg:String):void
  4. {
  5. var out:String= e.target + "发出事件(有参数) :" + arg;
  6. trace(out);
  7. }


实例源文件:listener.rar

我个人的做法,往往都是var一个模块级变量用来记录要传递的参数.

本文对您有用吗? 何不留下评论继续交流, 或者在您的博客上引用本文继续探讨.
您可以订阅读者对本文的回应或者订阅本博客以在您的阅读器中自动获取更新.

本文居然还有同伙!有兴趣不?

才 9 条评论 - “addEventListener事件监听传递参数”

  1. haishabei Windows XP TencentTravel based on IE 6.0 说:

    学习了. 鼠标发现一个问题. 你BLOG的CSS.在IE6下右边有点小问题.

    [回复]

  2. 鼠标炸弹 Windows XP Firefox 3.0 说:

    我也发现了…问题已修正

    [回复]

  3. 暗泪 Windows XP Internet Explorer 6.0 说:

    聪明!
    当时我还想AS3应该会提什么可以传参的,结果还是鼠标的方法好行!

    [回复]

  4. xss Windows XP Firefox 3.0.1 说:

    谢谢你了,帮了我大忙。

    [回复]

  5. 暗泪 Windows XP Maxthon 1.0 based on IE 7.0 说:

    这是匿名函数!要移除它,怎么做?

    [回复]

  6. 鼠标炸弹 Windows XP Firefox 3.0.1 说:

    匿名函数的事件处理无法移除….所以只是图个方便,并不鼓励这么做。

    [回复]

    小蚊子 Windows XP Internet Explorer 8.0

    @鼠标炸弹, 这个事件是可以移除的。e.currentTarget.removeEventListener(e.type, arguments.callee);

    [回复]

  7. boyzone Windows XP Internet Explorer 6.0 说:

    这个不能在类里面用我发现会出问题。

    [回复]

  8. suerry Windows other version Google Chrome 4.1.249.1045 说:

    我在天地会用一个事件监听类也挺方便的,炸弹可以去看看

    [回复]

您再来一条评论吧?