zoukankan      html  css  js  c++  java
  • egret之移除带参数的监听事件

       this.selectBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onClickNewIndo.bind(this,this.data), this);//添加监听事件
        
        public onClickNewIndo(data,evt:egret.TouchEvent) 
        {
              this.selectBtn.removeEventListener(egret.TouchEvent.TOUCH_TAP, this.onClickNewIndo.bind(this,this.data), this);//移除监听事件
        }

      在egret中,我们添加带参数的监听事件,首先想到的是用bind绑定,但是bind会返回一个新函数(匿名的),这样会造成移除监听事件的时候不能移除。

      现在的办法是,我们可以用一个参数来保存这个匿名函数,在需要的移除的地方移除这个参数就可以了。实际做法如下:

        private fun:any;//声明一个参数
        this.fun=this.onClickNewIndo.bind(this,1);//将监听事件函数保存
        this.selectBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.fun, this);//添加监听方法
        public onClickNewIndo(data,evt:egret.TouchEvent) 
        {
          this.selectBtn.removeEventListener(egret.TouchEvent.TOUCH_TAP, this.fun, this);//移除监听事件
        }

    这样,你就能顺利移除带参数的监听事件了。

  • 相关阅读:
    [BZOJ3998]弦论
    [Arc062] Painting Graphs with AtCoDeer
    [BZOJ4819]新生舞会
    [BZOJ3091]城市旅行
    [BZOJ1494]生成树计数
    单独使用JDBC编程
    highcharts(前端报表生成)
    报表技术之PDF格式报表生成 ----JasperResport
    iText生成PDF 格式报表
    html基本代码书写
  • 原文地址:https://www.cnblogs.com/shirln/p/10000256.html
Copyright © 2011-2022 走看看