web-dev-qa-db-ja.com

document.activeelementは本文を返します

<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を設定しようとしています。

javascript関数onblurを呼び出してdocument.activeelementを取得しようとすると、フォーカスがあるアクティブな要素ではなく、常にbody要素が返されます。

20
Jigar Parekh

古い要素を離れてから新しい要素に入るまでの間、アクティブな要素は確かにドキュメント/本文そのものです。

デモ: http://jsfiddle.net/u3uNP/

8
ThiefMaster