Fancybox 3设置touch:false无效,无法禁用触摸滑动求助
解决Fancybox v3
touch: false 配置不生效的问题 嘿,我来帮你搞定这个问题!你遇到的核心问题是配置结构不对,Fancybox v3的参数规则和你写的不一样,咱们一步步来修正:
1. 错误原因:配置嵌套层级不对
你原来的代码里把touch: false放在了opts属性里,但Fancybox v3的$.fancybox.open()方法的第二个参数本身就是全局配置对象,不需要额外嵌套opts层级。哪怕你把它移出opts,如果结构还是错的也不会生效,咱们直接调整代码结构。
2. 修正后的正确代码
把配置项直接放在第二个参数里,去掉多余的opts嵌套:
$.fancybox.open({ type: "ajax", src: "/forms/add_user_to_session.php", ajax: { settings: { data : data, type : 'POST' } }, touch: false // 直接放在这里,不需要嵌套在opts里! });
3. 额外排查点(如果还是不生效)
- 检查Fancybox版本:确保你用的是v3.x版本,v2的配置规则不一样,如果是v2需要用其他写法。
- 全局配置覆盖:如果之前有设置过
$.fancybox.defaults.touch = true,可以尝试在局部配置里明确指定,或者检查是否有其他JS代码动态修改了这个配置。 - 弹窗内容的触摸事件:如果datetime picker本身有触摸事件,确保它没有和Fancybox的事件冲突,但先解决配置问题再排查这个。
内容的提问来源于stack exchange,提问作者LewBlu
相关产品推荐
相关产品推荐

