Javascript 无法在自定义弹出窗口后将焦点设置为文本框
我正在显示一条奇特的文本框消息,在消息之后,我试图将焦点设置为文本框。但它不起作用 下面是html代码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
<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提出的方法很好(简化版)…拥有动态控件不是你的问题的一部分。