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

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

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

2024-04-27 13:51:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
1.14.1.問(wèn)題
我想使用自定義事件類(lèi)發(fā)出事件以及數(shù)據(jù)。
1.14.2.解決辦法
繼承flash.events.Event創(chuàng)建類(lèi),創(chuàng)建與事件數(shù)據(jù)相關(guān)的屬性。
1.14.3.討論
有時(shí)候我們希望發(fā)送事件時(shí)也附帶數(shù)據(jù)對(duì)象以便監(jiān)聽(tīng)者不用訪(fǎng)問(wèn)發(fā)出事件的對(duì)象也能訪(fǎng)問(wèn)數(shù)據(jù)。渲染器或深度嵌入對(duì)象通過(guò)發(fā)出事件通過(guò)多個(gè)組件到達(dá)監(jiān)聽(tīng)器并發(fā)送數(shù)據(jù)而不需要監(jiān)聽(tīng)組件去尋找對(duì)象及訪(fǎng)問(wèn)其組件。作為一種解決方案,需要?jiǎng)?chuàng)建一個(gè)事件類(lèi)型的類(lèi),在事件構(gòu)造函數(shù)中添加需要的數(shù)據(jù)類(lèi)型,記得要調(diào)用Event的super方法以便Event對(duì)象能正確被實(shí)例化,例如:
+展開(kāi)
-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);
}
}
}

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

這個(gè)發(fā)出的事件并不是先前收到的那個(gè),而是使用clone方法創(chuàng)建的CustomPersonEvent 一個(gè)復(fù)本,如果clone方法沒(méi)有被重新則會(huì)把CustomPersonEvent的所有屬性都被復(fù)制,那時(shí)clone方法返回的將是flash.events.Event而不會(huì)有CustomPersonEvent的任何屬性。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵丘县| 囊谦县| 象州县| 庄浪县| 武乡县| 老河口市| 永修县| 沈丘县| 衡南县| 平利县| 清涧县| 通化市| 花莲县| 祁阳县| 封开县| 大姚县| 庄河市| 绥江县| 罗江县| 甘南县| 弥渡县| 青田县| 湘潭市| 都昌县| 阳城县| 黎平县| 天气| 保定市| 孙吴县| 桂东县| 米脂县| 仙桃市| 磴口县| 孝义市| 西华县| 牙克石市| 安福县| 安康市| 乐亭县| 灵璧县| 新巴尔虎右旗|