Flash CS4 Professional ActionScript 2.0

FocusManager 類別

您可以使用 Focus Manager 類別指定使用者在應用程式中按 Tab 鍵瀏覽時,組件成為焦點的順序。您也可以使用 Focus Manager 來設定使用者按 Enter (Windows) 或 Return (Macintosh) 時,文件中接受鍵盤輸入的按鈕。例如,當使用者填寫表單時,應該能夠利用 Tab 鍵在欄位間移動,並且可以按 Enter (Windows) 或 Return (Macintosh) 鍵送出表單。

所有組件都會實作 Focus Manager 支援;您不需要撰寫程式碼來叫用 Focus Manager 類別。

注意

 

只有當您使用在「發佈設定」中指定 ActionScript 2.0 的文件時,才支援 FocusManager 類別。

 

Focus Manager 支援會覆寫 on(keyPress) 全域處理常式的使用。因為所有的組件都會實作 Focus Manager,所以包含組件使用 on(keyPress) 全域處理常式的應用程式必須明確地為每個控制項 (包括組件和影片片段) 設定 tabIndex (請參閱使用 Focus Manager)。或者,更適當的方法是針對特定按鍵 (Key) 新增事件偵聽程式,如此 Focus Manager 就不會覆寫對應的事件處理常式。如需有關為按鍵 (Key) 建立事件偵聽程式的詳細資訊,請參閱「學習 Adobe Flash 中的 ActionScript 2.0」中的「擷取按鍵」。

Focus Manager 也會與 System Manager 互動,隨著彈出式視窗的啟用或停用,來啟用或停用 FocusManager 實體。每個強制回應視窗都有一個 FocusManager 的實體,讓視窗中的組件成為
自己的 Tab 設定,防止使用者用 Tab 鍵跳到其它視窗中的組件。

Focus Manager 會辨識選項按鈕群組 (具有已定義之 RadioButton.groupName 屬性的按鈕),並且將焦點設定到群組中 selected 屬性已設定為 true 的實體。按下 Tab 鍵之後,Focus Manager 會檢查下一個物件是否擁有與目前物件相同的群組名稱。如果是,它就會自動將焦點移到具有不同群組名稱的下一個物件。支援 groupName 屬性的其它組件集合也可以使用這項功能。

Focus Manager 會處理因滑鼠按鍵動作而產生的焦點變更。如果使用者按一下某個組件,該組件就會成為焦點。

 

當使用 Focus Manager (「控制 > 測試影片」) 測試 Script 時,選取測試模式中的「控制 > 停用鍵盤快速鍵」;否則 Focus Manager 不會運作。此外,依照預設,編寫環境會使用 Tab 定位和鍵盤快速鍵。所以,如果使用測試模式,則 Tab 焦點導覽、Enter 按鍵以及其它的按鍵組合可能會以預期外的方式執行或運作失敗。這些功能應該在編寫環境外的 Player 中進行測試。

相關主題