gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 23:11:00 25 4
gpt4 key购买 nike

在 as3 中,如果我向对象添加相同的事件监听器,例如

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

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

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

最佳答案

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

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

  • 如果添加两个具有不同监听器功能的事件监听器:

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

  • 如果在捕获阶段设置一个事件触发:

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

    所以你只需要删除以不同方式注册的事件。

    您无法使用 Flex 中开箱即用的内容获取事件监听器的数量,但您可以使用 hasEventListener(type) 检查它是否具有针对特定类型事件的事件监听器。 .

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

    关于flash - 重复事件监听器的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1107005/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com