做过flex项目的兄弟们肯定都有一个体会,那就是一定要了解flex中的事件处理机制,本文就和各位朋友们一起t简单探讨一下flex中的事件机制。
首先我们需要对我们的目标对象添加监听器,填加监听器需要指定事件类型。
比如:
myButton.addEventListener(MouseEvent.CLICK, OnMyButton_ClickHandler);
myButton是一个按钮就是我们所说的目标对象,此行代码就是给myButton这个按钮对象填加了一个事件监听,事件的类型是鼠标单击类型MouseEvent.CLICK,OnMyButton_ClickHandler是我们的事件响应函数,那么当我们用鼠标单击此按钮时,那么此按钮就会触发此事件,此时程序就会进入OnMyButton_ClickHandler函数执行,
那么对OnMyButton_ClickHandler这个函数有什么要求呢?
比如:
function OnMyButton_ClickHandler(event:MouseEvent):void
{
//code
}
要求是此函数要有一个MouseEvent类型的对象做为参数,此对象中包括一些我们想要用到对象,比如我们可以利用event.target取得myButton这个按钮对象,注意还有一个event.currentTarget这两者有区别,咱们放在日后进行讨论学习。
其次我们一个对象只可以注册一个事件监听吗?答案是否,我们当然可以为一个myButton填加多个事件监听了,可以为myButton填加不同类型的监听,同一个事件类型的监听也可以有多个。
比如:
填加不同类型的监听
myButton.addEventListener(MouseEvent.DOUBLE_CLICK, OnMyButton_DoubleClickHandler);
填加多个同种类型的监听
myButton.addEventListener(MouseEvent.CLICK, OnMyButton_ClickHandler1);
myButton.addEventListener(MouseEvent.CLICK, OnMyButton_ClickHandler2);
myButton.addEventListener(MouseEvent.CLICK, OnMyButton_ClickHandler3);