2012-07-02 2 views
13
<input id="text1" tabindex="1" onblur="invokeFunc()"/> 
<input id="text2" tabindex="2" onblur="invokeFunc()"/> 

function invokeFunc(){ 
    // ajax request 
    alert(document.activeElement); 
    // this returns body element in firefox, safari and chrome. 
} 

적절한 tabindex가 설정된 텍스트 상자에 포커스 onblur 설정을 시도하고 있습니다.document.activeelement returns body

내가 javascript 함수 onblur를 호출하고 document.activeelement를 얻으려고 할 때 포커스가있는 활성 요소 대신 body 요소를 항상 반환합니다.

+1

http://molily.de/weblog/javascript-fokus-zentral는 크로스 브라우저 document.activeElement 기능을 나열합니다. –

답변

5

이전 요소를 떠나서 새 요소를 입력하는 사이에 활성 요소는 실제로 문서/본문 자체입니다.

데모 : http://jsfiddle.net/u3uNP/

+0

고마워...이 호출을 비동기 방식으로 호출하여 ajax 이벤트 이후에 올바른 요소에 포커스를 둘 수 있다고 생각합니다. –