在MouseEvent.CLICK函数中,我通常使用e.target来处理我单击的movieClip,但这只适用于内部没有任何子项(如文本和其他符号)的movieClip。当里面有孩子的时候,e.target让孩子回到Mc里面而不是Mc本身。 e.currentTarget也没有用;它返回[对象MovieClip]但不返回Mc的实例名称。无论如何我能解决它吗? 谢谢。
答案 0 :(得分:2)
要获取实例名称,您需要e.currentTarget.name
。
答案 1 :(得分:2)
e.target
=已点击的元素。
e.currentTarget
=已注册侦听器的元素。
假设一个红色框包含一个蓝色框:
red.addEventListener(MouseEvent.MOUSE_CLICK, redClick);
如果单击红色框(内部蓝色框外):
e.target
=红色
e.currentTarget
=红色
如果您点击蓝色框:
e.target
=蓝色
e.currentTarget
=红色
要阻止您的蓝框调度点击事件,您可以禁用子元素的鼠标事件:
red.mouseChildren = false;
如果您然后单击蓝色框:
e.target
=红色
e.currentTarget
=红色
答案 2 :(得分:1)
将预期目标的mouseChildren
设置为false
,以停止传播到MovieClip子项中的事件。