blockly > IFocusableNode > getFocusableElement

IFocusableNode.getFocusableElement() メソッド

フォーカスを受け取るように明示的にリクエストできる DOM 要素を返します。

重要: この要素は、明示的にフォーカスされ、現在のフォーカス状態(ぼかし、アクティブなフォーカス、パッシブなフォーカス)に応じてスタイルが変更されるため、ページ上に視覚的に表示されることが想定されています。要素には、次の 2 つのスタイルのいずれかが適用されます(スタイルがない場合は、ぼかし/フォーカスなしを示します)。- blocklyActiveFocus - blocklyPassiveFocus

返される要素には有効な ID が指定されている必要があり、この ID はページ全体で一意である必要があります。一意の ID が適切に設定されていないと、1 つのノードにフォーカスしようとした(マウスのクリックなど)結果、同じ ID を持つ別のノードが FocusManager によってフォーカスされる可能性があります。

返された要素は、FocusManager.focusNode() または FocusManager.focusTree() を介してノードがフォーカスされた場合に表示される必要があります。onNodeFocus() が呼び出されるまで要素を非表示にしたり、onNodeBlur() の呼び出しで非表示にしたりすることは許可されています。

返される実際の要素は、ノードの存続期間中は変更されないことが想定されています(つまり、プロパティは変更できますが、新しい要素が返されることはありません)。また、返された要素の tabindex は、このノードと FocusManager のライフサイクル全体で上書きされます。

FocusManager を介して最初にフォーカスされることなく、直接フォーカスされる機能をノードで必要とする場合は、独自のタブ インデックスを設定する必要があります。

署名:

getFocusableElement(): HTMLElement | SVGElement;

戻り値:

HTMLElement | SVGElement

このノードでフォーカスを受け取ることができ、アクティブまたはパッシブにフォーカスされていることを視覚的に表現できる HTMLElement または SVGElement。