우선,이 작업을 완료하는 데 기본 JavaScript 만 사용하고 싶습니다.keydown에서 Javascript로 마우스 오버를 시뮬레이트하려면 어떻게해야합니까?
사용자 지정 드롭 다운을 만들고 HTML 코드가 이와 비슷하게 보입니다. CSS 파일에서
<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>
나는이 가까이에 뭔가가 :
ul.dropdownItemContainer li:hover {
background-color: #FF0000;
}
그래, 정말 더 dropdownish 행동이 없다, 그러나 실제로 논의의 핵심이 아니다. 문제는이 드롭 다운에 키보드 컨트롤을 사용할 수있는 적절한 방법을 생각할 수 없다는 것입니다. 원하는 결과는 다음과 같습니다. 아래 키를 누르면 첫 번째 옵션이 강조 표시됩니다. 다시 한 번 누르면 두 번째 옵션이 강조 표시됩니다.
이 시점에서 방금 JS를 공부하기 시작한 유일한 옵션은 ul
의 하위를 모두 가져 와서 배열에 붙여 넣은 다음 적절한 방식으로 JS 메서드를 통해 태그에 배경색을 지정하는 것입니다. 아래쪽 키를 누를 때마다
한편, 마우스 카운트 롤을 위해 CSS에 설명 된 : 호버 동작이 여전히 있습니다. 수평을 시뮬레이션하는 현명한 방법이 있습니까?
키보드 탐색에 대한 예제는'많이 사용한다 : 초점 '. –
@AlessandroVendruscolo 사실이지만, 또는 일반적인 제어 요소보다 더 중요한 것에 집중할 수는 없습니까? :) –
jQuery 솔루션 만 내 마음에 온다 : ( –