jquery - 如何与 Fancybox3 字幕 block 中的表单输入进行交互?

标签 jquery css fancybox fancybox-3

我正在使用自定义模板为标题区域中的表单添加输入字段:

..fancybox({
  caption: function (instance, item) {
    return "FORM CONTAINING AN INPUT FIELD";
  }
}

字段显示得很好,但实际上我无法单击任何表单元素。 Fancybox 只是窃取与图像交互的输入。有没有办法让 div.fancybox-caption-wrap 中的东西能够处理自己的输入并将图像保持在其上方?基本上,只是为了让它像允许交互的 div.fancybox-controls 一样工作(并充当图像的顶部)。

我尝试在文档页面上搜索选项,但似乎没有合适或有效的选项。 “触摸”事件似乎可能会窃取事件,但开/关没有区别。禁用“closeClickOutside”也无济于事。无需任何额外步骤即可使用 Fancybox2 与表单元素进行交互。我还能尝试什么?

最佳答案

By default all Pointer events are disabled in caption area.

在 fancybox 标题框中启用输入文本或任何其他 html 字段 添加此 css 规则。

.fancybox-caption-wrap {
    pointer-events: all;
}

我正在使用带 .fancybox-custom-layout 的 fancybox-3.1.20

这是我的工作代码。

            caption: function (instance, item) {
                var caption = $(this).data('caption') || '';

                if (item.type === 'image') {
                    caption = '(<span data-fancybox-index></span>/<span data-fancybox-count></span>)' + '<br />' + (caption.length ? caption + '<br />' : '') +
                    '<input type="text" value="comment">' +
                    $('#comments_panel').html()
                    ;
                }
                return caption;
            }

查看标题区域内我的 fancybox 图像评论面板的屏幕截图。

enter image description here

关于jquery - 如何与 Fancybox3 字幕 block 中的表单输入进行交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42037890/

相关文章:

javascript - 单击鼠标右键并粘贴触发事件

html - 具有绝对定位的 css 最小宽度和边距/填充

javascript - Fancybox Observer 跨多个链接?

jquery - AJAX 请求后调整 fancybox 的宽度

jquery - Fancybox导致滚动条出现

javascript - JQuery撤消追加

javascript - jQuery/javascript - 尝试将对象的函数作为参数传递给函数

html - 为什么这不是居中的? ( margin :0 auto; not working)

css - 将按钮与 React Material-UI 中的 TextField 垂直对齐

javascript - jquery 如果链接 = 页面 url