Event的stopImmediatePropagation和stopPropagation方法
stopImmediatePropagation () 方法
stopPropagation () 方法
public function stopImmediatePropagation():void 语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9
stopImmediatePropagation () 方法将防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。 此方法会立即生效,并且会影响当前节点中的事件侦听器。 相比之下,在当前节点中的所有事件侦听器都完成处理之前,stopPropagation() 方法不会生效。
注意:两种方法不会取消与此事件相关联的行为;有关此功能的信息,请参阅 preventDefault()。
以上是摘抄自ActionScript3.0参考手册中的内容,直观的说就是stopImmediatePropagation会影响到当前对象中同一事件的其他监听器,stopPropagation则不会。
例
public function main():void{
myButton.addEventListener(MouseEvent.CLICK, onClick1, false, 5);
myButton.addEventListener(MouseEvent.CLICK, onClick2);
}
internal function onClick1(e: MouseEvent): void{
trace("onClick1");
e.stopImmediatePropagation();
e.stopPropagation();//注释掉其中一个方法,看debug输出
}
internal function onClick2(e: MouseEvent): void{
trace("onClick2");
}