jquery fancybox焦点问题
我有一个在jQuery Fancybox窗口中打开的表单。 页面加载时,fancybox窗口将自动打开。加载时,我希望它将焦点设置在Fancybox窗口中表单中的用户名字段上。 我发现这必须在fancybox被envoked时完成,因此我尝试了给定的不起作用的代码:代码片段:jquery fancybox焦点问题,jquery,fancybox,focus,Jquery,Fancybox,Focus,我有一个在jQuery Fancybox窗口中打开的表单。 页面加载时,fancybox窗口将自动打开。加载时,我希望它将焦点设置在Fancybox窗口中表单中的用户名字段上。 我发现这必须在fancybox被envoked时完成,因此我尝试了给定的不起作用的代码:代码片段: jQuery(document).ready(function() { $("#hidden_link").trigger('click'); document.getElementById('username').foc
jQuery(document).ready(function() {
$("#hidden_link").trigger('click');
document.getElementById('username').focus();
});
表单名称是“登录表单”,字段ID是“用户名”。我不太确定您使用的是什么版本 我假设您使用的是版本1 因此,在调用fancybox时,请尝试添加此选项
- onStart将在尝试加载内容之前调用
- 取消加载后将调用onCancel
- 一旦显示内容,将调用onComplete
- 将在关闭前调用onCleanup
- 一旦FancyBox关闭,将调用onClosed
$('#somediv').fancybox({
oncomplete: function() {
document.getElementById('username').focus();
}
});
您正在尝试在fancybox出现之前调用focus()。将该调用放在onComplete()中,而不是放在ready()中
我必须使用setTimeout来解决这个问题 onComplete:函数(){ setTimeout(函数(){ $('.sms_code')[“1”].focus(); },1000);}
这是我的实际代码:jQuery.ajax({type:“POST”,url:“loadCustomerDetails.php”,success:function(msg){$('#customerDetails').html(msg);$(“#hidLinkCustomerDetails”).fancybox().trigger('click');$('#txtCustomer').focus();});它只是触发了fancybox.jQuery.ajax({type:“POST”,url:“loadCustomerDetails.php”,success:function(msg){$('#customerDetails').html(msg);$(“#hidLinkCustomerDetails”).fancybox().trigger('click');$('#txtCustomer').focustomer()})。。这是实际代码fancybox的哪个版本?
onComplete: function() {
$('#username').focus();
}