如何禁用Fancybox 6弹窗的关闭功能?
如何禁用Fancybox 6弹窗的关闭功能?
嘿,我刚好折腾过Fancybox 6的这个需求,给你整理了一套完整的配置方案,能彻底把弹窗锁死不让它关闭,覆盖所有可能的关闭途径:
- 隐藏关闭按钮+禁止点击背景关闭:直接在基础配置里加两个参数,
closeButton: false能把右上角的关闭按钮藏起来,clickOutside: false可以阻止用户点击灰色背景关闭弹窗 - 禁用键盘快捷键:如果要完全禁用所有键盘操作(比如ESC键),直接设
keyboard: false;要是只想禁用ESC键保留其他快捷键,就写成keyboard: { escape: false } - 兜底阻止关闭事件:怕还有其他触发关闭的途径?在
close事件回调里调用event.preventDefault(),能把任何关闭动作都拦下来
给你贴个完整的代码示例,把这些配置整合起来:
Fancybox.show([{ src: "#modal", closeButton: false, }], { clickOutside: false, keyboard: false, // 按需改成 { escape: false } 只禁用ESC on: { close: (fancybox, event) => { // 阻止默认关闭行为,兜底用 event.preventDefault(); } } });
亲测这样配置之后,弹窗就完全没法被关闭了,不管用户点哪里、按什么键都没用,刚好匹配你的“完全阻止关闭”的需求~
内容来源于stack exchange
相关产品推荐
相关产品推荐

