flash - AS3 : Removing EventListeners without knowing amount or names

标签 flash actionscript-3 event-listener

首先简单介绍一下我的网站是如何运作的: 单击链接时,它会检查屏幕左侧或右侧是否已显示某些内容(该网站看起来像一本书,所以我有一个要显示信息的左页和一个右页)。如果已经有东西显示,它会隐藏它并显示新对象,同时它会启用该对象内的所有按钮(我有单独的函数来设置每个对象)。

此类事件监听器的示例如下:

pathTo.Button1.addEventListener(MouseEvent.CLICK, function():void {showText(side, object)});

我想做的是删除所有先前设置的EventListeners,而不必创建单独的函数来删除每个对象内的链接。

简短版本:如何删除另一个对象内所有对象上的所有 EventListener?我想要存储的唯一变量是包含所有内容的对象。然而,对象内并不总是有事件监听器。

最佳答案

您可以使用检查现有的事件监听器

hasEventListener(Event.TYPE)

您可以使用删除事件监听器

removeEventListener(Event.TYPE, listenerFunc)

请注意,您必须拥有对listenerFunc 的引用才能删除事件监听器。

关于flash - AS3 : Removing EventListeners without knowing amount or names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2732165/

相关文章:

css - Flex CSS 不支持对齐操作?

javascript - 掌握 JavaScript 中的事件监听

apache-flex - 如何在Flash CS4中管理带有链接类的库符号以在Flash Builder 4中进行编译/调试?

带有 Red5 服务器编解码器类型检测的 Flash 播放器

flash - AS3 : Loading SWFs in a for loop

apache-flex - Flex : Get self SWF file name?

javascript - 在 componentWillUnmount 中调用时 removeEventListener 不起作用

javascript - 第二次调用 addEventListener 时,如何摆脱 addEventListener 中使用的旧值?

actionscript-3 - "open source"媒体框架有何意义?

ajax - RIA 领域有哪些值得关注的优秀博客?