2014-01-06 3 views
3

HTML 요소에 포커스가 있는지 어떻게 테스트 할 수 있습니까? 드롭 다운 선택 목록이 선택되지 않은 경우 코드를 실행하고 싶습니다. 그래서, 문서를 클릭하면, 선택리스트보다 다른 곳에서는 JavaScript가 요소를 모두 선택 해제합니다.감지 요소가 선택되지 않았습니다.

이 문은 근무하지 않습니다

var items=document.getElementById("items"); 
items.focused==false; 

나는 누군가가 나를 도울 수 있기를 바랍니다. 자바 스크립트의

+2

하지 정확한 중복,하지만 : 당신은이에 대한 지원이 필요한 경우

, 나는 당신의 핸들러 같은 것을 제안 http://stackoverflow.com/questions/483741/how -to-determined-which-html-page-element-of-focus –

+1

무언가가 초점을 잃었을 때 호출되는'onblur' 이벤트를 사용할 수 있습니다 – RononDex

+0

항목이'=== document.activeElement'인지 확인하십시오 – crush

답변

4

최신 버전이 허용 :

if(items.matchesSelector(":focus")) 

그러나 이전 버전의 브라우저를 위해 당신은 시도 할 수 있습니다 :

if(document.querySelector("#items:focus")) 

그러나 이것은 IE 7 세 이상에서 작동하지 않습니다. 매우 가까운

// some means of attaching a handler(evt) { 
evt = evt || window.event; 
var target = evt.srcElement || evt.target; 
while(target) { 
    if(target.id == "items") return true; 
    target = target.parentNode; 
} 
// #items is not the target. Do something. 
+1

더 jquery가 필요합니다. – crush

+0

@crush 알아요. :디 –

관련 문제