有哪些方法可以让文本字段获得焦点? (当前方法在IE7中不起作用)

时间:2011-08-16 14:38:42

标签: javascript internet-explorer internet-explorer-7

Zhe输入栏:

    <input id="category_name" name="category[name]" size="30" type="text">

关注文本字段的代码:(适用于chrome,ff和safari(仅限我测试过的浏览器)

   <script type="text/javascript">
        document.getElementById("category_name").focus();
    </script>

2 个答案:

答案 0 :(得分:0)

尝试在body.onload事件中调用focus()

<script type="text/javascript">
    function setFocus()
    {
        document.getElementById("category_name").focus();
    }
</script>

<body onload="setFocus();">
    <!-- ...snip... -->
</body>

或者这样做:

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

答案 1 :(得分:0)

我也有这个问题:setTimeout不起作用,就像回调和jQuery延迟一样。

我提出的解决方案是(使用jQuery):

$( "#inputId" ).focus().focus();

2倍焦点。在我测试的任何地方都没有任何缺点。

编辑:

还要确保所关注的输入可见 否则IE会抛出异常。