无法关注FancyBox2的内部表单的输入字段。
以下代码实际上关注的是当fancybox打开时表单的第一个输入,但是当我尝试点击其他输入焦点时,我无法专注于任何其他输入,返回到原始输入。
当我删除“aftershow”功能时根本无法关注任何输入。
此代码正在运行的示例页面,它是一个退出弹出窗口尝试离开页面,将出现fancybox但您无法专注于输入
任何?
$(document).ready(function () {
$(".fancybox-button").fancybox({
prevEffect: 'none',
nextEffect: 'none',
closeBtn: false,
helpers: {
title: {
type: 'inside',
position: 'top'
},
buttons: {},
overlay: {
css: {
'background': 'rgba(0, 0, 0, 0.95)'
}
}
}
});
$(".various2").fancybox({
afterShow: function() {
jQuery('.fancybox-inner').contents().find('#email').focus()
},
topRatio:0,
leftRatio:0,
fitToView: true,
autoSize: true,
closeClick: false,
openEffect: 'none',
closeEffect: 'none',
padding: 0,
overlay: {
css: {
'background': 'rgba(0, 0, 0, 0.95)'
}
}
});
});
答案 0 :(得分:1)
您正在使用#inline
作为触发按钮和幻灯片显示容器。因此,表单内部的点击正在冒泡并重新触发按钮,从而重新显示fancybox并重新触发afterShow。请参阅fancybox demo a.various和div #inline是两个不同的东西?