首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash中的事件冒泡

Flash中的事件冒泡
EN

Stack Overflow用户
提问于 2009-07-03 11:14:14
回答 3查看 653关注 0票数 0

我有一个剪辑,它捕捉点击事件使用(发布){ ....}

在这个剪辑中,我有一个按钮,它也可以用on(release) {...}捕捉点击

问题是按钮永远不会收到release事件。我相信事件不是冒泡的,被父容器捕获和处理。我如何才能将它冒泡到按钮上(我需要触发两个事件,因为一个事件触发动画,另一个事件打开页面)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-03 12:49:14

你使用on(release)语法的事实告诉我,你使用的是一种非常老的编码风格,而且你是在为as2编码。如果这是错误的,对不起。如果这是正确的,我郑重建议,如果你可以(一些客户仍然需要兼容flash 8的swfs,出于某种原因),你应该尝试并提出一个解决方案,在AS3而不是旧的AS2。在我看来,当as2已经走到尽头的时候,学习as2有点浪费时间。不过,我很欣赏您有时需要使用旧的方法。

所以,就这个问题而言,这并不重要。本质上,一旦你把一个交互式元素放入另一个交互式元素中,你就不能处理内部元素上发生的事件。基本上,鼠标事件是在第一个注册了事件的组件上处理的,也就是在它的正下方。则单击操作将停止查找更多项。它阻止您从一次单击中接收多个事件。

我认为解决这个问题的一种方法(尽管按钮中的按钮是一个非常糟糕的可用性决定)将是有一个非交互式容器n.b。对于as2,添加一个MovieClip,然后在其中添加两个按钮,一个比另一个大,小的在顶部。这意味着您可以分别处理对这两个元素的单击。

希望这能有所帮助

票数 2
EN

Stack Overflow用户

发布于 2009-07-03 11:24:55

尝试将事件侦听器同时添加到剪辑和按钮。

票数 0
EN

Stack Overflow用户

发布于 2009-07-03 13:03:45

您的代码显然是AS2,因为AS3不再支持此语法...

事件冒泡仅适用于AS3 ...在AS2中,如果电影剪辑/按钮为任何鼠标事件注册了处理程序/回调,那么孩子们将永远不会收到任何事件...

我曾经为AS2写过一个库,解决了这个问题……如果你真的需要坚持使用AS2,那么我可以去找它...但正如詹姆斯所说你真的不应该..。

问候

back2dos

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1078893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档