重复:
如何确定哪个html页面元素具有焦点?
如何找出哪个Javascript元素有焦点?
长话短说:
一些浏览器(最初只有IE浏览器,但Firefox 3和Safari跳上了马车)支持该document.activeElement
属性,实现了你想要的.
对于旧版浏览器,您需要此hack来模拟属性:
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); }