Javascript 无法在自定义弹出窗口后将焦点设置为文本框

Javascript 无法在自定义弹出窗口后将焦点设置为文本框,javascript,jquery,html,fancybox,Javascript,Jquery,Html,Fancybox,我正在显示一条奇特的文本框消息,在消息之后,我试图将焦点设置为文本框。但它不起作用 下面是html代码 <a class="fancyTrigger" href="#TheFancybox"></a> <hr> <div id="TheFancybox"></div> Powered by <a href="http://fancybox.net/" target="_blank">Fancybox</a&g

我正在显示一条奇特的文本框消息,在消息之后,我试图将焦点设置为文本框。但它不起作用

下面是html代码

    <a class="fancyTrigger" href="#TheFancybox"></a>
<hr>
<div id="TheFancybox"></div>

Powered by <a href="http://fancybox.net/" target="_blank">Fancybox</a>

    <input id="ipt" type="textbox" />


技术支持
Javascript代码

    $("#TheFancybox").html("<p>Just adding a paragraph to demonstrate that you can dynamically create HTML content within a DIV using .html()</p>");

$(".fancyTrigger").fancybox();
$(".fancyTrigger").trigger('click');

$('#ipt').focus();
$(“#TheFancybox”).html(只需添加一个段落,以演示您可以使用.html()在DIV中动态创建html内容“

”; $(“.fancyTrigger”).fancybox(); $(“.fancyTrigger”).trigger('click'); $(“#ipt”).focus();

下面是演示

这将非常适合fancybox 2.0

$(".fancyTrigger").fancybox({
    afterShow : function() {
        $('#ipt').focus()
    },
    afterClose : function() {
        $('#ipt').focus()
    }
});

实际上,我正在表单上进行验证,并使用fancybox显示消息。因此,每次要聚焦的元素id发生变化。下次关闭弹出窗口之前,代码中的“ipt”将是“ipt2”或“ipt3”。您可以设置要聚焦的元素的id。我试着这样做,它正在工作
beforeClose:function(){id='#ipt1'///just setting},afterClose:function(){$(id).focus()}
@iBlue:Anil提出的方法很好(简化版)…拥有动态控件不是你的问题的一部分。