まず、ネイティブ JavaScript のみを使用してこのタスクを完了したいと考えています。
カスタム ドロップダウンを作成するとします。HTML コードは次のようになります。
<div class="dropdown">
<span class="dropdown-label" style="display:block">Select a thing</span>
<ul class="dropdownItemContainer">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
<li>Item 6</li>
</ul>
</div>
CSS ファイルには、これに近いものがあります。
ul.dropdownItemContainer li:hover {
background-color: #FF0000;
}
ええ、実際にはドロップダウン的な動作はありませんが、それは実際には議論のポイントではありません. 問題は、このドロップダウンでキーボード コントロールを有効にする適切な方法が思いつかなかったことです。望ましい結果は次のとおりです。下向きのキーを押すと、最初のオプションが強調表示されます。もう一度押すと、2 番目のオプションが強調表示されます。
この時点で私が目にする唯一のオプション (JS の勉強を始めたばかり) は、 のすべてul
の子を取得し、それらを配列に貼り付けて、下向きのキーが押されるたびに適切な方法で JS メソッドを介してタグに背景色を割り当てることです。押した。
一方、CSS で説明されているマウス カウントの :hover 動作はまだ残っています。ホバーをシミュレートするスマートな方法はありますか?