You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:20:33