document.activeElement.matches(:focus)为false.为什么会这样



我有一个li:

<li _ngcontent-c21="" class="accordion li" tabindex="0" aria-expanded="true">

我已经标记到.docent.activeElement实际上就是这个元素。然而,

document.activeElement.matches(':focus')
false

让事情变得更加棘手:

document.activeElement.focus()
undefined
document.activeElement.matches(':focus')
false

这是怎么回事?(这是铬,顺便说一句(

如果这发生在控制台中,则控制台是焦点,而不是元素或页面;因此,只要控制台处于焦点,元素就不能与:focus匹配。这不是Element#matches()的限制,而是:focus工作方式的副作用——:focusCSS样式规则的行为方式相同。

如果在控制台中设置超时并在超时到期前重新聚焦页面,或者在页面内的<script>中调用这些函数,则document.activeElement应与预期的:focus匹配。

最新更新