我需要帮助在AS3中冒泡一个事件

Bou*_*ess 0 events event-handling actionscript-3 event-bubbling

我希望我的类的父级首先处理事件,然后我想让子级处理事件.有没有办法明确地将事件搞砸了?我想做这样的事情:

...
this.addEventListener(MouseEvent.CLICK, characterClicked);
...

private function characterClicked(e:Event):void{
// pass event to parent to be handled first
...
}
Run Code Online (Sandbox Code Playgroud)

这是可能的,如果是这样的话怎么样?

gra*_*ukt 5

事件有三个"阶段"; 捕捉,目标和泡泡.它们按此顺序出现,这意味着如果您将事件侦听器设置为处于捕获阶段,它将始终在一个常规集合之前触发(这意味着在目标或气泡处).

像这样:

// in parent, third argument is "use capture"
child.addEventListener(MouseEvent.CLICK, handleClickInParent, true); 

// in child, add listener as usual
addEventListener(MouseEvent.CLICK, handleClick);
Run Code Online (Sandbox Code Playgroud)

现在,您的父事件侦听器将始终首先触发!