блочно > IFocusableNode > getFocusableElement

Метод IFocusableNode.getFocusableElement()

Возвращает элемент DOM, который можно явно запросить для получения фокуса.

ВАЖНО: Обратите внимание, что этот элемент должен визуально присутствовать на странице, поскольку он будет явно сфокусирован, а его стиль будет меняться в зависимости от текущего состояния фокуса (то есть размыто, активно сфокусирован и пассивно сфокусирован). К элементу будет прикреплён один из двух стилей (отсутствие стиля означает размытость/отсутствие фокуса): - blocklyActiveFocus - blocklyPassiveFocus

Возвращаемый элемент также должен иметь действительный идентификатор, уникальный для всей страницы. Отсутствие уникального идентификатора может привести к тому, что попытка установить фокус на одном узле (например, щелчком мыши) приведет к тому, что FocusManager переключит фокус на другой узел с тем же идентификатором.

Возвращаемый элемент должен быть видимым, если узел когда-либо фокусируется с помощью FocusManager.focusNode() или FocusManager.focusTree(). Элемент может быть скрыт до вызова onNodeFocus() или стать скрытым с помощью вызова onNodeBlur().

Ожидается, что фактически возвращаемый элемент не изменится на протяжении всего жизненного цикла узла (то есть его свойства могут измениться, но новый элемент никогда не должен быть возвращён). Кроме того, возвращаемый элемент будет иметь перезаписанный tabindex на протяжении всего жизненного цикла этого узла и FocusManager.

Если узлу требуется возможность фокусироваться напрямую, без предварительного фокусирования через FocusManager, то он должен установить свой собственный индекс табуляции.

Подпись:

getFocusableElement(): HTMLElement | SVGElement;

Возврат:

HTMLElement | SVGElement

Элемент HTMLElement или SVGElement, который может как получать фокус, так и быть визуально представлен как активно или пассивно сфокусированный на этом узле.