将焦点放在字段上并使用HTML锚点

Nic*_*ick 0 html javascript anchor focus

我正在制作一个HTML表单,并且当单击页面上的链接时,我想专注于第一个输入字段。另外,我想将页面滚动到该位置。我写了一个JS函数来聚焦框:

function selectCommentBox() {
    document.getElementById("commentbox").focus();
}
Run Code Online (Sandbox Code Playgroud)

这是我的链接的代码:

<a href='#commentbox' onclick='selectCommentBox();'>Reply</a>
Run Code Online (Sandbox Code Playgroud)

我的困境是我只能获得一种行为或另一种行为。如果我按原样使用此链接,则锚点可以正常工作,并且页面将滚动到该字段的位置,但是该字段不会突出显示。如果添加“ return false”;到onclick时,该字段突出显示,但不执行锚点跳转。我怎样才能同时应用两种行为?谢谢

Cec*_*chi 5

当跟随锚链接时,实际上是将焦点赋予了该锚(#commentbox),因此您需要编写一个同时进行滚动/链接和聚焦的函数:

function selectCommentBox() {
    window.location = '#commentbox';
    document.getElementById("commentbox").focus();
}
Run Code Online (Sandbox Code Playgroud)

为了与旧浏览器兼容,请添加该return false;语句并将该href属性保留在适当的位置。