blockly > IFocusableNode > getFocusableElement
IFocusableNode.getFocusableElement() 메서드
포커스를 수신하도록 명시적으로 요청할 수 있는 DOM 요소를 반환합니다.
중요: 이 요소는 현재 포커스 상태 (예: 흐려짐, 적극적으로 포커스됨, 소극적으로 포커스됨)에 따라 명시적으로 포커스가 지정되고 스타일이 변경되므로 페이지에 시각적으로 표시되어야 합니다. 요소에는 두 가지 스타일 중 하나가 연결됩니다 (스타일이 없으면 흐리게 표시되거나 포커스가 없음을 나타냄). - blocklyActiveFocus - blocklyPassiveFocus
반환된 요소에는 유효한 ID가 지정되어 있어야 하며 이 ID는 전체 페이지에서 고유해야 합니다. 적절한 고유 ID가 없으면 한 노드에 포커스를 설정하려고 할 때 (예: 마우스 클릭을 통해) FocusManager가 실제로 동일한 ID를 가진 다른 노드에 포커스를 설정할 수 있습니다.
반환된 요소는 FocusManager.focusNode() 또는 FocusManager.focusTree()를 통해 노드에 포커스가 지정되는 경우 표시되어야 합니다. onNodeFocus()가 호출될 때까지 요소가 숨겨지거나 onNodeBlur() 호출로 숨겨지는 것은 허용됩니다.
실제로 반환된 요소는 노드의 수명 기간 동안 변경되지 않을 것으로 예상됩니다. 즉, 속성은 변경될 수 있지만 새 요소는 반환되지 않아야 합니다. 또한 반환된 요소의 tabindex는 이 노드와 FocusManager의 수명 주기 전반에 걸쳐 덮어쓰여집니다.
노드가 FocusManager를 통해 먼저 포커스가 지정되지 않고 직접 포커스가 지정될 수 있어야 하는 경우 자체 탭 색인을 설정해야 합니다.
서명:
getFocusableElement(): HTMLElement | SVGElement;
반환:
HTMLElement | SVGElement
이 노드에 대해 포커스를 받을 수 있고 시각적으로 활성 또는 수동 포커스로 표시될 수 있는 HTMLElement 또는 SVGElement입니다.