2009-07-03 47 views
0

冒泡我有使用(释放){....}事件在Flash

在这个夹子捕获click事件的剪辑,我有一个按钮,也对(释放){捕获点击次数。 ..}

问题是,按钮从来没有收到释放事件。我相信事件不会冒泡,被父容器抓住并处理。我怎样才能让它浮到按钮上(我需要两个事件来触发,一个动画,另一个打开一个页面)。

回答

2

你使用on(release)语法的事实告诉我你使用的是一种非常古老的编码风格,再加上你编写的是as2。如果这是错的遗憾。如果这是正确的,我认真地建议如果可以的话(某些客户端由于某种原因仍然需要兼容Flash 8的SWF),你应该尝试在AS3中提出一个解决方案,而不是老的AS2。在我看来,当as2在出路时,学习as2的时间有点浪费。我很欣赏你有时需要使用旧的方法。

因此,在这个问题上既不存在也不存在。实质上,一旦将交互式元素放入另一个交互式元素中,您将无法处理发生在内部元素上的事件。基本上,鼠标事件是在第一个注册了事件的组件上进行处理的,也就是它的正下方。然后,点击操作停止查找更多项目。它阻止你从一次点击接收多个事件。

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

希望这有助于

0

尝试向剪辑和按钮添加事件侦听器。

0

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

事件仅在冒泡AS3工作......在AS2,如果一个影片剪辑/按钮有一个注册处理程序/任何鼠标事件回调,然后没有孩子将永远不会收到任何事件...

我曾经写了一个AS2的库,解决了这个问题...如果你真的需要坚持AS2,那么我可以找到它......但詹姆斯说,你真的不应该......

greetz

back2dos