Duplicate:
Long story short:
Some browsers (originally only IE, but Firefox 3 and Safari jumped on the wagon) support the document.activeElement
property, which achieves what you want.
For older browsers, you need this hack to emulate the property:
function _dom_trackActiveElement(evt) {
if (evt && evt.target) {
document.activeElement = evt.target == document ? null : evt.target;
}
}
function _dom_trackActiveElementLost(evt) {
document.activeElement = null;
}
if (!document.activeElement) {
document.addEventListener("focus",_dom_trackActiveElement,true);
document.addEventListener("blur",_dom_trackActiveElementLost,true);
}