在 IE11 中,span 元素处于焦点状态(document.activeElement
返回 span),但该元素没有 tabindex 属性,并且不应该成为焦点。
在 Chrome 和 Firefox 中工作正常(单击具有 tabindex 属性的焦点 div 元素后)。该问题仅在IE11中出现。顺便说一句,无法在 jsbin 上重现此问题。
我在可以获得焦点的元素列表中也没有看到 span。
这是一个已知问题吗?单击跨度后如何使带有 tabindex 的 div
作为事件元素?
最佳答案
最后我发现它在 IE11 中是意外的行为,并且如果 span 有 display: flex
则可能存在错误。
Chrome 和 Firefox 点击 span
后返回 div
,IE 返回 span
。
检查片段以了解详细信息。有关 caniuse 的报告,可能应该添加到 IE 跟踪器中。
document.getElementById('d').addEventListener('click', function() {
alert('active element is ' + document.activeElement);
});
#d {
display: flex;
}
span {
display: -ms-flex;
display: flex;
}
<div id='d' tabindex="1">
<div>
<span>span</span>
</div>
</div>
关于javascript - IE11 中焦点错误的 activeElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30935637/