我怀疑我们何时在flex中创建自定义事件。
为什么我们在flex事件中使用'type:String,bubbles:Boolean = false,cancelable:Boolean = false'这些参数。
答案 0 :(得分:2)
冒泡会导致调度事件继续在显示树上调度,直到它到达舞台。这在各种情况下都很有用。
例如:想象一下,在父DisplayObject中有几个按钮。您可以为每个按钮添加侦听器,并记住之后删除它们,或者您可以只向父级添加一个侦听器。这是有效的,因为MouseEvents启用了冒泡。
buttonParent.addEventListener(MouseEvent.CLICK,handleButtonClick);
function handleButtonClick(event:MouseEvent):void
{
trace("The button clicked was " + event.target.name);
}
这样做的好处是,您现在可以自由添加和删除按钮,而无需担心将侦听器附加到它们。事件对象的target
属性将是对单击按钮的引用,currentTarget
将是对父级的引用。
可取消是一个标志,用于设置是否允许您通过调用preventDefault()
方法停止事件的默认操作。