使用 dispatchEvent() 方法
?
使用 dispatchEvent() 方法
在組件 ActionScript 類(lèi)文件的正文中,您可以使用 dispatchEvent() 方法來(lái)廣播事件。dispatchEvent() 方法的語(yǔ)法如下:
dispatchEvent(eventObj)
eventObj 參數(shù)是一個(gè)描述事件的 ActionScript 對(duì)象
在調(diào)用 dispatchEvent() 方法之前,必須在代碼中對(duì)其進(jìn)行聲明,如下所示:
private var dispatchEvent:Function;
此外,還必須創(chuàng)建一個(gè)事件對(duì)象以傳遞給 dispatchEvent()。該事件對(duì)象包含偵聽(tīng)器可用來(lái)處理該事件的有關(guān)信息。
在發(fā)送事件之前可以顯式地構(gòu)建一個(gè)事件對(duì)象,如下面示例所示:
var eventObj = new Object();
eventObj.type = "myEvent";
eventObj.target = this;
dispatchEvent(eventObj);
您也可以使用快捷語(yǔ)法在一行代碼中設(shè)置 type 屬性和 target 屬性的值,并發(fā)送事件:
ancestorSlide.dispatchEvent({type:"revealChild", target:this});
在上面的示例中,由于 target 屬性是隱式的,因此,設(shè)置該屬性是可選操作。
Flash 8 文檔中對(duì)每個(gè)事件的說(shuō)明列出了可選和必需的事件屬性。例如,ScrollBar.scroll 事件除了使用 type 和 target 屬性外,還使用 detail 屬性。有關(guān)詳細(xì)信息,請(qǐng)參閱"組件語(yǔ)言參考"中的事件說(shuō)明。
公共事件
下表列出了由各種類(lèi)廣播的公共事件。如果事件適用于組件,每個(gè)組件都應(yīng)廣播這些事件。這里沒(méi)有列出所有組件的全部事件,只列出了可能會(huì)由其它組件重新使用的事件。雖然某些事件未指定任何參數(shù),但所有事件都有隱式參數(shù):對(duì)廣播事件的對(duì)象的引用。
| 事件 | 使用 |
| click | 由 Button 組件使用,或在鼠標(biāo)單擊沒(méi)有其它含義時(shí)使用。 |
| change | 由 List、ComboBox 和其它文本輸入組件使用。 |
| scroll | 由 ScrollBar 和其它導(dǎo)致滾動(dòng)(在滾動(dòng)彈出菜單上滾動(dòng)"緩沖器")的控件使用。 |
此外,由于是從基類(lèi)繼承而來(lái),所有組件都廣播以下事件:
| UIComponent 事件 | 說(shuō)明 |
| load | 組件正在創(chuàng)建或加載其子對(duì)象。 |
| unload | 組件正在卸載其子對(duì)象。 |
| focusIn | 組件現(xiàn)在有輸入焦點(diǎn)。某些 HTML 等效組件(ListBox、ComboBox、Button、Text)還可以廣播 focus,但所有組件都廣播 DOMFocusIn。 |
| focusOut | 組件已失去輸入焦點(diǎn)。 |
| move | 組件已被移至新位置。 |
| resize | 組件大小已更改。 |
下表對(duì)一些常見(jiàn)的鍵事件進(jìn)行說(shuō)明:
| 鍵事件 | 說(shuō)明 |
| keyDown | 按下某個(gè)鍵。code 屬性包含被按下鍵的鍵控代碼,ascii 屬性包含它的 ASCII 代碼。不要使用低級(jí) Key 對(duì)象檢查,因?yàn)?span lang="en-us"> Key 對(duì)象可能尚未生成該事件。 |
| keyUp | 釋放某個(gè)鍵。 |
?
轉(zhuǎn)載于:https://www.cnblogs.com/baobaoandxiangxiang/archive/2006/10/06/522238.html
總結(jié)
以上是生活随笔為你收集整理的使用 dispatchEvent() 方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: XMLJavaXMLBeans结合应用的
- 下一篇: [转贴]年薪一万/十万/百万的各样生活