Webの勉強

Web系の作業で得た知識を備忘録として記録。間違ったていたら、ごめんなさい。

フォーカス移動とKey検知

フォーカス移動

タブを押下すると、フォーカスが移動します。 タグに"tabindex"をいれることで、フォーカス移動順を制御することができます。

通常フォーカス対象とならないdivタグにも、tabKey押下でフォーカスをあてることが可能になります。 また、別にdivタグで.focus()をCallすれば、フォーカスを充てることが可能です。

Key検知

tab以外のKeyで、フォーカスをあてたいとすると、keydownイベントを登録する必要があります。

key検知は、通常は画面全体に対して登録することが多いですが、 もしフォーカスが当たっている要素があるときのみKey押下を検知したいのであれば、 その要素を対象に"keydown"イベントを登録するとよいです。

Key検知でフォーカス移動

矢印キーでフォーカス移動させたい時は、画面全体にkeydownイベントを登録し、 個々の要素にfocusとblurイベントをひもづけます。 フォーカス移動をさせたいid名を対象に、リストで制御してみました。 tabキー押下でのフォーカス移動は、tabindex属性でブラウザまかせです。

See the Pen Key検知とフォーカス移動 by satsuki mori (@satsuki) on CodePen.

課題 tabindex属性があるものを対象に、リストを動的に作成したい checkboxの大きさをかえたい