blockly > IFocusableNode > canBeFocused
IFocusableNode.canBeFocused() 方法
指出這個節點是否允許聚焦。如果傳回 false,則不會呼叫任何其他 IFocusableNode 方法。
請注意,如果這個函式的實作內容會在節點的生命週期中動態變更其傳回值,則必須特別小心,因為某些環境條件可能會影響這個節點的 DOM 元素焦點 (例如元素是否有正或零的 tabindex)。此外,在節點保留焦點時,從 true 變更為 false 的值不會立即變更節點的目前焦點或 FocusManager 的內部狀態,因此可能會導致節點的某些函式在稍後失去焦點時被呼叫 (因為系統先前認為節點在獲得焦點時可聚焦)。
實作項目通常應一律在此處傳回 true,除非有情況需要為了焦點考量而略過這個節點。例如已停用、只讀、純粹視覺裝飾,或是沒有視覺表示的節點,必須實作此介面 (例如因父項介面擴充而實作)。決定節點是否應可聚焦時,請務必遵循無障礙設計最佳做法,因為即使是停用和唯讀元素,也可能仍與為使用者提供組織內容相關 (尤其是在使用螢幕閱讀器時)。
Signature:
canBeFocused(): boolean;
退貨:
布林值
這個節點是否可由 FocusManager 聚焦。