如何把重点放在文本框上?

时间:2012-11-05 03:37:39

标签: javascript jquery html textbox focus

如何使用JavaScript(或jQuery)将焦点放在文本框上?

我在页面上有一个文本框,在用户按下回车键后,文本框失去焦点。 (请记住,没有发布帖子,页面不刷新)

我希望能够通过javascript将焦点设置回文本框内,以便用户可以继续输入,而不必点击任何内容。

我尝试在用户按下回车键后添加以下代码:

$(".focus").focus();

我的文本框的代码:

<input type="text" class="focus" />

但是,光标没有出现在文本框内部,用户仍然需要点击才能继续输入。

如何解决此问题?

2 个答案:

答案 0 :(得分:2)

您必须将focus代码应用于input,如果页面未加载或代码运行时DOM未就绪,那么就没有{{} 1}}到input上..

所以你必须检查DOM是否已加载,如下所示:

focus

http://jsfiddle.net/c7aUS/

您还可以在$(function(){ $(".focus").focus(); }); 标记之前的页面底部添加代码,以便在所有HTML之后加载。

注意:如果你在jsfiddle中运行它,默认情况下你的代码是在页面加载时运行的。使用JQuery时,它会自动将其包装在以下代码中:

</body>

编辑:

在这种情况下,meetamit非常有用,我想你正在寻找这个:

$(window).load(function(){
     //your code here
});

http://jsfiddle.net/c7aUS/1/

答案 1 :(得分:1)

为什么按回车键可以从现场取走焦点? (我无法重现它。)这可能表明仍有一个隐藏的问题。也许不吧。如果没有,这可能会有所帮助:

$(".focus").on('keydown', function(event) {
    if(event.which == 13) {// Enter key pressed
        event.preventDefault();
    }
});