Fancybox 2内部的形式失去焦点

时间:2014-09-12 14:09:06

标签: jquery fancybox fancybox-2

无法关注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)'
        }
    }


});


});

1 个答案:

答案 0 :(得分:1)

您正在使用#inline作为触发按钮和幻灯片显示容器。因此,表单内部的点击正在冒泡并重新触发按钮,从而重新显示fancybox并重新触发afterShow。请参阅fancybox demo a.various和div #inline是两个不同的东西?