没有将焦点设置为firefox中的文本字段

时间:2012-09-22 10:16:54

标签: javascript html javascript-events

我遇到了一个非常有趣的问题。 我正在尝试使用window.onLoad使用javascript(没有jquery,我尝试过但不能使用)在输入字段上设置焦点

看看这个fiddel:setFocusOnLoad

它在Chrome浏览器中工作正常,但在Firefox中却没有。在Firefox中有任何问题。我怎么解决。感谢。

Editted: 这是我在html文件中复制的代码。

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
            function onloadFocus(){
                var name = document.getElementById('name');
                //        name.value='window.onload called';
                name.focus();


            }

            window.onload=onloadFocus();
        </script>
    </head>
    <body>
        <div><input type='text' value='' id='name' name='name'></div>
    </body>
</html>

3 个答案:

答案 0 :(得分:0)

你必须将函数调用包装成一个函数,否则会立即调用它,而不是onLoad(此时输入仍然是未知的):

window.onload=function(){onloadFocus();}

答案 1 :(得分:0)

您应该使用window.onload=onloadFocus;代替window.onload=onloadFocus();,因为如果window.onload=onloadFocus(); onloadFocus将立即运行,那时输入字段可能无法使用。

jsfiddle

答案 2 :(得分:0)

我找到了解决方案。如果您想专注于Firefox。在script标签的开始处编写focus函数。

<script type="text/javascript">
    document.getElementById('name').focus();
    // rest of the code here.
</script>

希望这会对您有所帮助。