您可以使用 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 中進行測試。 |