【问题标题】:How to implement the confirm dialog from Fancybox 3?如何实现 Fancybox 3 的确认对话框?
【发布时间】:2018-11-05 15:17:31
【问题描述】:

我是 Fancybox 的忠实粉丝,而且我已经使用它多年了。目前我正在考虑安装最新版本,我想使用 Fancybox 3 (https://fancyapps.com/fancybox/3/) 项目页面上演示的确认对话框。但我不明白如何做到这一点。我在哪里可以找到相关设置、如何启动对话框以及对话框中的内容来自哪里?

【问题讨论】:

    标签: fancybox-3


    【解决方案1】:

    基本上,您像往常一样显示一些内联内容,然后使用afterClose 回调来检查单击了哪个元素以关闭模式(提示:将data-fancybox-close 属性添加到任何元素以充当关闭按钮),就像这样:

    afterClose : function( instance, current, e ) {
        var button = e ? e.target || e.currentTarget : null;
        var value  = button ? $(button).data('value') : 0;
    
        // Here you can choose what to do depending on the element
      }
    

    这是一个更完整的代码 - https://codepen.io/fancyapps/pen/YRPoVB?editors=1010 - 用于主页。

    【讨论】:

    • 我自己找到了确认对话框的 codepen 版本。内容在 javascript 文件中提供。问题是我想从数据库中获取它,就像我可以使用 twig 获得的其他内容一样。为了让脚本正常工作,我是否必须将 javascript 代码(来自 codepen)添加到 Fancybox 的主 javascript 文件中?或者通过将其添加到 html 文件中并结合作为外部脚本添加的 Fancybox 的主 javascript 文件来使用它?
    • "我是否必须将 javascript 代码(来自 codepen)添加到 Fancybox 的主 javascript 文件中?" - 你可以这样做,但这不是人们通常组织代码的方式。最佳做法是永远不要接触任何外部文件。
    • 除了更改配置设置?或者这也是用自定义代码完成的?
    • 你可以把你的代码放在你喜欢的任何地方,但是,如果它出现在 html 元素之前,那么简单地包裹在 $( document ).ready() - learn.jquery.com/using-jquery-core/document-ready 这里是一个简化的演示,希望它有帮助 - codepen.io/anon/pen/zMqqbO?editors=1010跨度>
    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 2012-05-26
    • 2011-10-26
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 2021-12-19
    相关资源
    最近更新 更多