AS3事件冒泡机制

import flash.events.MouseEvent;

a.b.addEventListener(MouseEvent.CLICK,bclickHandler);
function bclickHandler(e:MouseEvent):void
{
	trace("bclick");
	a.addEventListener(MouseEvent.CLICK,aclickHandler);
}

function aclickHandler(e:MouseEvent):void
{
	trace("aclick");
}

  第一次点击B方块,会发现输出

  bclick

  aclick

  在bclickHandler方法执行的时候为a方块添加了监听事件,由于AS3的事件冒泡机制,事件直接传递到a方块,所以输出 了ackick;

  如果点击b方块的时候如何不让a接收到呢

  在bclickHandler 方法 添加一行

   e.stopPropagation();

  这个方法是AS3提供用来中断冒泡的

posted on 2013-04-28 11:01  苍蝇也是鸟  阅读(171)  评论(0编辑  收藏  举报

导航