舞台上有3个动画片段
A => B => C(B是A的孩子,C是B的孩子)
当我在movieclip“C”上使用像MouseEvent.CLICK这样的内置事件时,它会自动传播到movieclip“A”。在任何级别我都不需要任何类型的“调度”功能。这是可以理解的,因为事件会自动从孩子传播到父母。
但是当我使用自称的“onMyCustomEvent”时,并在“C”中使用调度功能。我不能让它传播?我如何制定一个自定义的内容,就像内置事件的发生方式一样?
答案 0 :(得分:0)
注册事件处理程序时,将第三个参数useCapture
设置为true
。
答案 1 :(得分:0)
你所谓的传播实际上被称为"冒泡"。
事件冒泡显示列表。
这也是addEventListener()
KeyboardEvent
MouseEvent
和stage
Event
为了捕获它们而不考虑焦点的原因:
从stage
开始冒泡的地方开始,它始终会以Event
结束,这是显示列表层次结构中最顶层的对象。
为了创建冒泡true
,将Event
作为第二个参数传递给public function Event(type:String, bubbles:Boolean = false, cancelable:Boolean = false)
类的构造函数:
super()
bubbles:Boolean(default = false) - 确定Event对象是否参与事件流的冒泡阶段。默认值为false。
您在CustomEvent
的构造函数中调用super("whatever", true);
时执行此操作,例如:
{{1}}