加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash – 重复事件监听器的数量?

发布时间:2020-12-15 07:26:29 所属栏目:百科 来源:网络整理
导读:在as3中,如果我向对象添加相同的事件侦听器,则为例 txtField.addEventlistener( Event.CHANGE,changeCb,false,true );txtField.addEventlistener( Event.CHANGE,true ); 我需要两次删除该监听器吗? 如何获取对象上的列表或事件侦听器数? 解决方法 不,在这
在as3中,如果我向对象添加相同的事件侦听器,则为例

txtField.addEventlistener( Event.CHANGE,changeCb,false,true );
txtField.addEventlistener( Event.CHANGE,true );

我需要两次删除该监听器吗?

如何获取对象上的列表或事件侦听器数?

解决方法

不,在这种情况下,您不需要两次删除侦听器.

您需要在两种情况下删除多个侦听器:

>如果添加两个具有不同侦听器函数的事件侦听器:


    txtField.addEventlistener( Event.CHANGE,true );
    txtField.addEventlistener( Event.CHANGE,changeCb2,true );

>如果您在捕获阶段设置了一个要触发的事件:


    txtField.addEventlistener( Event.CHANGE,true,true );

因此,您只需要删除以不同方式注册的事件.

您无法使用Flex中提供的开箱即可获得事件侦听器的计数,但您可以使用hasEventListener(type)检查它是否具有针对特定类型事件的事件侦听器.

但是,由于提供了源代码,您可以“猴子修补”UIComponent或FlexSprite类来添加此功能,如this blog中所述.实际上,您甚至不必这样做.代码在示例中提供.很酷.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读