Javascript 专注于 DIV 元素在 chrome 上不起作用



嗨,我想在页面加载后立即专注于div。 它在Firefox上工作得很好,但在Chrome上不是,它不起作用。 这是我的代码:

https://jsfiddle.net/9yb2boxn/

document.getElementById("focusme").focus();
#focusme {width:400px; height:100px; overflow-y:scroll; }
<div id="focusme">
  focus me focus me focus me focus me  focus me focus me focus me focus me  focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me
</div>

在 Firefox 中,当我运行此代码并按键盘上的向下箭头时,div 向下滚动。 但不是在铬上。 为什么会出现此问题?

我已经尝试过了

setTimeout(function() {
   document.getElementById("focusme").focus();
}, 1); 

仍然不工作。

请帮忙。谢谢

如果要使不可聚焦的元素可聚焦,则必须向其添加 tabindex 属性:

<div id="focusme" tabindex="1"></div>

此外,您可以使用 ID 通过位置哈希访问它。在此处查看您的问题的答案:是否可以使用 javascript focus() 函数专注于

如果你想通过javascript将焦点设置为div,你可以使用以下代码

$("#focusme").attr("tabindex",-1).focus();

希望这对你有帮助。

 $("#focusme").attr("tabindex",-1).focus();
#focusme {width:400px; height:100px; overflow-y:scroll; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<div id="focusme">
  focus me focus me focus me focus me  focus me focus me focus me focus me  focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me
</div>

最新更新