嗯…在Firefox中,您可以
explicitOriginalTarget用来拉出被单击的元素。我希望
toElement对IE也能做到这一点,但似乎无法正常工作…但是,您可以从文档中拉出新集中的元素:
function showBlur(ev){ var target = ev.explicitOriginalTarget||document.activeElement; document.getElementById("focused").value = target ? target.id||target.tagName||target : '';}...<button id="btn1" onblur="showBlur(event)">Button 1</button><button id="btn2" onblur="showBlur(event)">Button 2</button><button id="btn3" onblur="showBlur(event)">Button 3</button><input id="focused" type="text" disabled="disabled" />警告: 这种技术并 没有 对重点工作的变化所造成 的互联
通过与键盘领域,并没有在所有的Chrome或Safari工作。使用的一个大问题
activeElement(IE除外)是未持续更新,直到 之后
的
blur事件已被处理,并在处理过程中可能根本没有有效的价值!可以通过更改Michiel最终使用的技术来缓解这种情况:
function showBlur(ev){ // Use timeout to delay examination of activeElement until after blur/focus // events have been processed. setTimeout(function() { var target = document.activeElement; document.getElementById("focused").value = target ? target.id||target.tagName||target : ''; }, 1);}这应该在大多数现代浏览器(在Chrome,IE和Firefox中测试)上都可以使用,但要注意的是,Chrome不会将重点放在 单击的按钮上
(相对于选项卡式)。



