-1

我正在尝试将焦点放在作为 jQuery 树一部分的表单中的文本框上。这是我的代码

$(document).ready(function() {

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

});

HTML:

 <div>
     <form action="search" method="post" name="frmSearch>
          <label for="search">Search:</label>
        <input type="text" name="search" id="search" />
        <input type="submit" name="button" value="Search" />
    </form>
</div>

当我单击树中的搜索选项卡时,它不会将焦点设置在文本框上。有人可以让我知道代码中有什么问题吗?

4

3 回答 3

6

您将文本框集中在页面加载上,但是一旦您单击页面上的任何其他位置(例如选项卡),焦点将从文本框中移除并提供给您刚刚单击的任何内容。

不要专注于页面加载,而是将单击侦听器附加到您的选项卡,以便在单击它时search文本框获得焦点。由于我没有看到您的所有标记,因此我将#mySearchTab其用作您的搜索选项卡 ID 的占位符:

$(document).ready(function() {
    $("#mySearchTab").on('click', function() {
       $('#search').focus();
    });
});

另外,不要忘记用).

我不确定你的树是什么样的,但这是一个使用 jQuery 选项卡的工作演示。

于 2013-08-13T15:43:47.860 回答
1

我对你的js代码做了一些修改

http://jsfiddle.net/8CTqN/5

$(document).ready(function(){
    $(function(){
        $("#search2").focus();      
    });
});    
于 2013-08-13T15:40:07.297 回答
1

尝试以下:

$(function(){
    $("input:first:text").focus();       
});

在这里工作小提琴:http: //jsfiddle.net/8CTqN/2/

在铬上测试

于 2013-08-13T15:47:30.677 回答