<select>
요소의 메뉴가 열려 있는지 여부를 확인하는 방법을 찾고 있습니다. 열거 나 닫을 것을 강요 할 필요가 없습니다. 주어진 시간에 열리거나 닫히면 알아낼 수 있습니다.<select> 드롭 다운 메뉴가 열려 있는지 확인하는 방법이 있습니까?
포커스/흐림, 마우스 업/마우스 다운 등의 이벤트를들을 수는 있지만 그 이벤트의 메뉴 상태를 안정적으로 파악할 수는 없다고 생각합니다. 예를 들어 mousedown과 mouseup을 함께 사용하면 사용자가 클릭하여 드래그하여 선택 영역으로 드래그하여 릴리스 (이 경우 메뉴가 닫히는 경우)되거나 클릭 및 릴리스되어 메뉴를 열 수 있습니다 (이 경우 메뉴가 열려 있음). 또한 드롭 다운 메뉴의 특정 동작은 브라우저에 따라 다를 수 있습니다.
내 드롭 다운 메뉴를 굴리는 경우이 작업을 수행 할 수 있지만, <select>
을 사용하는 것이 좋습니다.
드롭 다운 메뉴가 열려 있는지 확인할 수있는 확실한 방법이 있습니까? 아니면 Javascript가 알 수없는 무언가입니까?
결론 : 선택 메뉴가 열려 있는지 여부를 확인하는 데는 개체를 확인하거나 해당 이벤트를 수신하는 방법을 사용하는 것이 보장되지 않는 것처럼 보입니다. 내 자신의 사용을 위해
난 그냥 선택이 onfocus 및 및 위해 onblur 를 사용하여 포커스가 있는지 여부를 추적하고 있습니다. 포커스가 없어도 메뉴를 열 수있는 방법이 없다고 가정합니다. 테스트 한 모든 브라우저에서 해당 메뉴가 유지되는 것 같습니다. 메뉴가 열렸을 때 실제로 내게 말해주지는 않지만 은이 열리지 않을 때 알려주므로 내 용도에 충분합니다.
참고 - IE의 최신 버전은 일반적인 이벤트를 발생하지 않는 사용자 정의 선택 목록 메뉴를 엽니 다. 본질적으로 선택 목록을 열면 마우스가 현재 DOM과 관련이없는 무언가를 가리키고 있습니다 – JDandChips