件是乙個非常有用的功能,通常用於資訊傳遞互動大大提高程式編寫的靈活性。在高階語言中都會整合這方面特性;flex也不例外幾乎所有控制項中都整合了大量的事件,如果button的click事件等。但實際應用中控制項自有的事件是不能滿真實需要的,特別在自己編寫自定義控制項時,自定義控制項內部資訊的改變如何及時通知所在的容器變得很更要;這個時候自定義事件就起到它的作用。
在flex中定義事件有兩中情況,分別是actionscript和mxml中定義。
在actionscript中定義:
code:
[event(name="myenableevent", type="flash.events.event")]
public class mycomponent extends uicomponent
在mxml中定義:
code:
[event(name="datachange", type="datachangeevent")]
datachangeevent事件引數的定義:
code:
import flash.events.event;
public class datachangeevent extends flash.events.event
public var data:object;}
在自定義控制項中定義和觸發事件:
code:
<?xml version="1.0" encoding="utf-8"?>
[event(name="datachange", type="datachangeevent")]
code:
其實自定義事件的現實也很簡單,但起著非常重要的作用;正是因為有了事件的機制,使得大部分重複的功能抽取到自定義控制項中,從而達到乙個很高的**重用性。
Flex事件機制
事件流按執行流程分為3步 1 捕獲階段 捕獲事件 capturing,從根節點開始順序而下,檢測每個節點是否註冊了 同時,flex 將事件物件的currenttarget 值改為當前正在檢測的物件。如果註冊了 則呼叫監聽函式。2 目標階段 檢測目標的 targeting 觸發在目標物件本身註冊的監聽...
Flex事件機制
flex事件機制是觀察者模式,即首先要註冊事件,事件分發後通過事件響應函式進行處理。例如在as3中 button.addeventlistener click onclick 向button註冊乙個click事件 internal function onclick evt mouseevent vo...
Flex事件機制 2
event類方法 1 實用程式方法 clone event formattostring classname string,parameters string tostring string 2 事件流方法 stopimmediatepropagation void stoppropagation ...