如何将焦点设置在使用fancybox打开的新页面中的文本框中

时间:2014-01-06 06:17:24

标签: jquery iframe fancybox focus fancybox-2

我有2页,第1页和第2页。单击page1中的链接后,page2将加载到fancybox中。我想在加载后将焦点设置在第2页的特定文本框中。我可以知道怎么做吗?

这是我使用但不起作用的代码

$('.fancyboxTopic').fancybox({
   helpers:{overlay: {closeClick:false}},
   'padding': 5,
   'width': '840px',
   'height': '95%',
   'autoScale': false,
   'autoHeight': false,
   'autoSize': false,
   'afterClose': function(){window.location.reload(true);},
   'onComplete': function(){$('#topicTitle').focus();}
})

在我的链接中:

<a href="page2.asp" class="fancyboxTopic fancybox.iframe">page 2</a>

1 个答案:

答案 0 :(得分:1)

尝试

afterShow: function(){
    $('.fancybox-iframe').contents().find("#topicTitle").focus();
}

...假设所有页面都在同一个域中。

注意:您可能需要添加tabindex属性才能使其与Chrome配合使用:

afterShow: function(){
    $('.fancybox-iframe').contents().find("#topicTitle").attr("tabindex",1).focus();
}

BTW,onComplete是fancybox v1.3.x的一个选项,与v2.x不兼容