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