javascript - IE11 中焦点错误的 activeElement

标签 javascript html angularjs

在 IE11 中,span 元素处于焦点状态(document.activeElement 返回 span),但该元素没有 tabindex 属性,并且不应该成为焦点。

在 Chrome 和 Firefox 中工作正常(单击具有 tabindex 属性的焦点 div 元素后)。该问题仅在IE11中出现。顺便说一句,无法在 jsbin 上重现此问题。

example

/image/2qdmJ.png

我在可以获得焦点的元素列表中也没有看到 span。

这是一个已知问题吗?单击跨度后如何使带有 tabindex 的 div 作为事件元素?

http://msdn.microsoft.com/en-us/library/ms536934.aspx

最佳答案

最后我发现它在 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/

相关文章:

javascript - vbscript Chr() 函数的 JavaScript 等价物是什么?

javascript - Polymer 2.0 纸张输入文件自定义样式

javascript - 引用嵌套对象的最有效方法

javascript - 表单输入时移除占位符后显示div

javascript - 如何根据屏幕上的 View 外观为自动页面滚动制作动画? ( Angular )

javascript - 在删除之前使用 JavaScript 进行提示不起作用

html - CakePHP 图像未调整大小,适合容器

asp.net - 何时使用 gridview 以及何时在表行上使用转发器来显示表格数据?

javascript - AngularJS:有没有比指定的更好的方法来实现这一点?

javascript - 如何在 AngularJS e2e 测试中测试拖放功能