:::: 菜单 ::::

addEventListener事件监听传递参数

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一个模块级变量用来记录要传递的参数.

延伸阅读


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

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

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

  4. 我平时的做法
    addEventListener(MouseEvent.CLICK, onClick(“参数”));
    var onClick:Function = function(e:String):Function
    {
    return function(event:MouseEvent):void{

    }
    }