我有一个使用on(release){....}
捕获click事件的剪辑在这个片段中,我有一个按钮,它也可以点击(发布){...}
问题是按钮永远不会收到释放事件。我相信事件不会冒泡,被父容器捕获和处理。如何将其冒泡到按钮(我需要触发两个事件,因为一个动画,另一个打开一个页面)。
答案 0 :(得分:2)
你使用on(发布)语法的事实告诉我你使用的是一种非常古老的编码风格,而且你正在为as2编码。如果这是错误的抱歉。如果这是正确的,我认真地建议,如果你可以(某些客户仍然因某些原因需要flash 8兼容的swfs),你应该尝试在AS3而不是旧的AS2中提出解决方案。在我看来,当as2很好地解决问题时,学习as2有点浪费时间。我很欣赏您有时需要使用旧方法。
所以这不是问题,也不是问题。实质上,一旦将交互式元素放在另一个交互式元素中,您将无法处理内部元素上发生的事件。基本上,鼠标事件在第一个具有向其注册的事件的组件处理,也就是直接在其下面。然后单击操作停止查找更多项目。它阻止您通过一次点击接收多个事件。
我认为解决这个问题的一种方法(虽然按钮内的按钮是一个非常糟糕的可用性决定)将是一个非交互式容器n.b.对于as2一个MovieClip,然后在其中添加两个按钮,一个比另一个大,顶部较小。这意味着您可以单独处理对这两个元素的点击。
希望这有帮助
答案 1 :(得分:0)
尝试向剪辑和按钮添加事件侦听器。
答案 2 :(得分:0)
你的代码显然是AS2,因为AS3不再支持这种语法......
事件冒泡仅适用于AS3 ...在AS2中,如果动画片段/按钮具有针对任何鼠标事件的注册处理程序/回调,则任何子项都不会接收任何事件......
我曾经为AS2写了一个库,解决了问题......如果你真的需要坚持AS2,那么我可以寻找它......但正如詹姆斯所说,你真的不应该......
格尔茨
back2dos