我有一个在jQuery Fancybox Window中打开的表单。 页面加载时会自动打开fancybox窗口。当它加载时,我希望它将焦点设置在Fancybox窗口中的表单中的用户名字段。 我发现必须在安装fancybox时执行此操作,因此我尝试了不起作用的给定代码:代码段:
jQuery(document).ready(function() {
$("#hidden_link").trigger('click');
document.getElementById('username').focus();
});
表单名称为“login_form”,字段ID为“username”。
答案 0 :(得分:1)
我不太确定你使用的版本。
我假设您使用版本1 所以在调用fancybox时尝试添加这个选项
这来自fancybox api文件http://fancybox.net/api
并添加您要使用的功能。
在这种情况下
$('#somediv').fancybox({
oncomplete: function() {
document.getElementById('username').focus();
}
});
答案 1 :(得分:0)
您正试图在出现fancybox之前调用focus()。而不是将该调用放入ready(),而是将其放入onComplete()。
onComplete: function() {
$('#username').focus();
}
答案 2 :(得分:0)
我必须使用setTimeout来解决这个问题。
onComplete:function(){ setTimeout(function(){ $(' .sms_code')[" 1&#34]。对焦(); },1000); }