文档对象的activeElement属性设置具有键盘焦点的当前元素。
但我看到了奇怪的行为:
如果我将鼠标放在图像/锚点上,则activeElement显示
<body>
如果我右键单击锚点,则activeElement显示
<a href=....
如果我右键单击图像,则activeElement显示
<body>
有人可以冒充正确行为吗?
我正在使用Firefox。
console.log(document.activeElement);
答案 0 :(得分:3)
只有“focusable”元素才能拥有焦点。与链接或textarea不同,对于图像元素,“焦点”(具有讽刺意味)很大程度上没有意义,因此规范不会将其列在必须可聚焦且大多数(所有?)浏览器都遵循的元素中。
当你[右 - ]点击一个元素时,它会“模糊”以前关注的元素(如果有的话),而“没有明确地关注其他元素,用户代理应该同步运行聚焦body元素的步骤,如果有一个“ - 其他的话,由于图像不可聚焦,它会聚焦身体元素。
如果您需要对图像或其他不可聚焦元素进行焦点行为,最佳解决方案通常是将其包装在链接中。