ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          今天在flex里通過addEventListener函數給控件動態加載click事件偵聽函數時,除了事件本身傳遞的Event類型參數外,還需要傳遞更多的參數,在網上找了一段代碼,用起來還不錯,張貼到這里。

          package
          {
              public class EventArgExtend
              {
                  public function EventArgExtend()
                  {
                  }
                 
                  public static function create(f:Function,... arg):Function
                  {
                         var F:Boolean=false;
                         var _f:Function=function(e:*,..._arg)
                         {
                             _arg=arg
                             if(!F)
                             {
                                 F=true
                                 _arg.unshift(e)
                             }
                             f.apply(null,_arg)
                         };
                         return _f;
                    }
                    public static function toString():String
                    {
                         return "Class JEventDelegate";
                    }
              }
          }

          =========================================== 使用的方式:
          txtShow.addEventListener(MouseEvent.CLICK,EventArgExtend.create(clickHandler,1,"str"));

                      private function clickHandler(e:Event,...arg):void
                      {
                          Alert.show(arg[0].toString());
                          Alert.show(arg[1].toString());
                      }


          還有另外一個方法,沒有封裝效果,不過代碼更加容易理解:

          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);
          }
          posted on 2011-12-16 17:43 ivaneeo 閱讀(473) 評論(0)  編輯  收藏 所屬分類: flex-我酷所以我在
          主站蜘蛛池模板: 浏阳市| 广丰县| 金门县| 大田县| 渝中区| 大邑县| 涿州市| 永年县| 巴塘县| 石景山区| 东至县| 怀宁县| 商水县| 米泉市| 白银市| 鲜城| 松溪县| 万荣县| 达拉特旗| 会同县| 凯里市| 绍兴县| 来安县| 太谷县| 沙坪坝区| 宿迁市| 崇信县| 汝城县| 响水县| 拜城县| 稻城县| 斗六市| 连城县| 松桃| 同江市| 永春县| 云安县| 铜川市| 扎兰屯市| 万荣县| 高清|