• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>AS 3.0>文章内容
  • addEventListener注册事件进行传递参数的方法
  • 来源: 作者:ycccc8202 2007-09-14 【
分享一下我写的这个类
/**
* @author:ycccc8202
* @用途:注册事件进行传递参数的代理类
* @date:2007.8.26
* @example:
* import com.ycccc.utils.JEventDelegate
  stage.addEventListener(MouseEvent.MOUSE_DOWN,JEventDelegate.create(mouseDownHandler,"a","b"));
  function mouseDownHandler(e:MouseEvent,...arg) {
  trace(e)
  trace(arg)
  }
*/
package com.ycccc.utils{
public class JEventDelegate {
  public function JEventDelegate() {
  }
  public static function create(f:Function,... arg):Function {
   var F:Boolean=false;
   var _f:Function=function(e:*,..._arg){
      _arg=arg
    !F?(F=true,_arg.unshift(e)):_arg[0]=e
     f.apply(null,_arg)
      };
   return _f;
  }
  public static function toString():String {
   return "Class JEventDelegate";
  }
}
}

使用格式如下:

import com.ycccc.utils.JEventDelegate
  stage.addEventListener(MouseEvent.MOUSE_DOWN,JEventDelegate.create(mouseDownHandler,"a","b"));
  function mouseDownHandler(e:MouseEvent,...arg) {
  trace(e)
  trace(arg)
  }

//这样的好处是既保留了原有的event参数,又能够传递新的参数

 

JEventDelegate.as

 






上一篇:AS 3.0 中类似watch的功能   下一篇:AS3中的数据存取方式效率比较
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)