jQuery:load()加载页面但不关注文本框

时间:2012-06-22 21:43:02

标签: jquery

我有一个小提琴:http://jsfiddle.net/SDr3F/10/

目前:

onclick,它提醒

alert('hi')  

必填:

onclick,它会在{+ 1}}中加载搜索文本框并在文本框中加载search.html

search.html

focus

我如何设置焦点?

<input id="search-input" type="text" class="input-medium search-query span4">  

问题

  • 它加载页面但未聚焦在文本框内,我该如何解决?

2 个答案:

答案 0 :(得分:5)

在您的示例中,您在发出Ajax请求后立即关注元素,而在请求成功完成时不关注 。因此,您尝试聚焦尚未加载的元素。

您应该添加complete处理程序。以下应该有效:

$("#search").click(function() {
    $("#feature").load("templates/search.html", function() {
        $("#search-input").focus();
    });
});​

答案 1 :(得分:2)

您需要回调,以便在尝试设置焦点之前知道页面内容已完全加载。