国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

1.14.使用自定義事件以及事件數(shù)據(jù)傳遞

2024-04-29 18:53:27
字體:
供稿:網(wǎng)友
1.14.1.問題
我想使用自定義事件類發(fā)出事件以及數(shù)據(jù)。
1.14.2.解決辦法
繼承flash.events.Event創(chuàng)建類,創(chuàng)建與事件數(shù)據(jù)相關(guān)的屬性。
1.14.3.討論
有時候我們希望發(fā)送事件時也附帶數(shù)據(jù)對象以便監(jiān)聽者不用訪問發(fā)出事件的對象也能訪問數(shù)據(jù)。渲染器或深度嵌入對象通過發(fā)出事件通過多個組件到達監(jiān)聽器并發(fā)送數(shù)據(jù)而不需要監(jiān)聽組件去尋找對象及訪問其組件。作為一種解決方案,需要創(chuàng)建一個事件類型的類,在事件構(gòu)造函數(shù)中添加需要的數(shù)據(jù)類型,記得要調(diào)用Event的super方法以便Event對象能正確被實例化,例如:
+展開
-ActionScript
package oreilly.cookbook {
import flash.events.Event;
public class CustomPersonEvent extends Event {
public var person:Person;
public var timeChanged:String;
Public function CustomPersonEvent(type:String,bubbles:Boolean=false,
cancelable:Boolean=false,
personValue:Person=null,
timeValue:String=""
)
{
super (type, bubbles, cancelable);
person = personValue;
timeChanged = timeValue;
}
override public function clone():Event {
return new CustomPersonEvent(type, bubbles, cancelable, personValue,timeValue);
}
}
}

在這個自定義Event類,繼承的Event.clone方法被重寫以便復(fù)制CustomPersonEvent自身。如果事件監(jiān)聽器想試圖重新發(fā)出自定義事件,可以這樣寫:
+展開
-ActionScript
Private function ustomPersonHandler(event:CustomPersonEvent):void {
dispatchEvent(event);
}

這個發(fā)出的事件并不是先前收到的那個,而是使用clone方法創(chuàng)建的CustomPersonEvent 一個復(fù)本,如果clone方法沒有被重新則會把CustomPersonEvent的所有屬性都被復(fù)制,那時clone方法返回的將是flash.events.Event而不會有CustomPersonEvent的任何屬性。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 锦州市| 孝感市| 荆州市| 高雄县| 修文县| 陵水| 同江市| 新闻| 诸城市| 微山县| 右玉县| 修文县| 水城县| 成武县| 中西区| 南丰县| 茶陵县| 兴义市| 卢氏县| 新沂市| 应城市| 买车| 高碑店市| 淮滨县| 洛浦县| 南康市| 晋中市| 馆陶县| 茌平县| 井陉县| 建宁县| 平泉县| 贺州市| 台南市| 元谋县| 辽源市| 芮城县| 万宁市| 常山县| 邵阳市| 许昌市|