在加载时从HTML元素中删除焦点

时间:2014-03-13 16:54:41

标签: javascript html

我在我的网站上使用this主题,并且我已经自定义了其内容。我已经为登录表单添加了一个幻灯片(片段)。但是,由于此表单中的用户名输入字段,无论何时加载页面,焦点都会从主页片段转移到此用户名字段,并且页面看起来有偏差。我尝试在第一个主片段中添加隐藏字段hiddenfield并编写

<body onload="setfocus()">

其中setfocus()

function setfocus() {
    document.getElementById("hiddenfield").focus();
}

但它没有用。

简而言之,我需要从页面上的输入框中删除默认焦点并将其提供给片段。这该怎么做?请帮忙,因为我需要立即解决这个问题。

3 个答案:

答案 0 :(得分:1)

我无法将默认焦点重现到输入字段,但如果您将id attr添加到要位于页面顶部的元素,则应该能够导航页面加载后到它。

<html>
<head>
<script type="text/javascript">
    window.onload = function(){
        window.location.hash = '#divToFocus';
    }
</script>
</head>
<body>
<div id="divToFocus">fasdfsdfsd</div>   
<form action="action">
    <fieldset>
        <legend>Personal information:</legend>
        Name: <input type="text" size="30" /><br />
        E-mail: <input type="text" size="30" /><br />
        Date of birth: <input type="text" size="10" />
    </fieldset>
</form>
</body>
</html>

答案 1 :(得分:0)

JsFiddle

<script>标记或单独的.js文件中尝试此操作。

(function() {
   document.getElementById("hiddenfield").focus();
})();

或:

<!DOCTYPE html>
<html>
<head>
<script>
function setFocus()
{
    document.getElementById("hiddenfield").focus();
}
</script>
</head>

<body onload="setFocus()">
<!-- stuff here -->
</body>

</html>

答案 2 :(得分:0)

尝试使用window.focus()而不是隐藏元素