1

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

function selectCommentBox() {
    document.getElementById("commentbox").focus();
}

这是我的链接的代码:

<a href='#commentbox' onclick='selectCommentBox();'>Reply</a>

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

4

1 回答 1

6

当一个锚链接被跟踪时,你实际上是把焦点给了那个锚(#commentbox),所以你需要编写一个函数来做滚动/链接和聚焦:

function selectCommentBox() {
    window.location = '#commentbox';
    document.getElementById("commentbox").focus();
}

为了与旧浏览器兼容,请添加return false;语句并保留href属性。

于 2012-10-23T01:12:04.440 回答