如何在 iPad 上通过滚动使工作 jquery “滑动”?

Posted

技术标签:

【中文标题】如何在 iPad 上通过滚动使工作 jquery “滑动”?【英文标题】:How to make work jquery "swipe" with scroll on iPad? 【发布时间】:2015-12-18 08:48:23 【问题描述】:

我有两个 div,彼此相邻。除了click 事件,我还添加了swiperightswipeleft 来做一些事情。但是当我添加这些 swipe 事件时,滚动在 iPad 上不再起作用。在 PC 上没有问题!

有没有其他方法可以让它们在 iPad(触摸屏设备)上相互兼容?

谢谢!

【问题讨论】:

你能展示一下你到目前为止所做的尝试吗? 【参考方案1】:

找到了解决方案:

http://stephband.info/jquery.event.swipe/

Swipe 事件是基于移动事件 (stephband.info/jquery.event.move) 构建的薄包装器。默认情况下,移动事件会覆盖原生滚动,因为它们假定您想要移动某些内容而不是滚动窗口。要重新启用滚动,请在 movestart 处理程序中调用 e.preventDefault()。

在上面的示例中,我们希望能够向左和向右滑动,但可以上下滚动。在 movestart 处理程序中,计算手指移动的方向,如果发现向上或向下移动,则阻止该事件::

jQuery('.mydiv')
.on('movestart', function(e) 
  // If the movestart is heading off in an upwards or downwards
  // direction, prevent it so that the browser scrolls normally.
  if ((e.distX > e.distY && e.distX < -e.distY) ||
      (e.distX < e.distY && e.distX > -e.distY)) 
    e.preventDefault();
  
);

【讨论】:

以上是关于如何在 iPad 上通过滚动使工作 jquery “滑动”?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 ipad 中的 div 可滚动?

如何使我的固定位置文章滑块在 iPad 上平滑

jQuery + 移动设备:我如何上下滚动? (iOS:iPad)

jquery 滚动位置在真正的 Ipad 中不起作用

使用动画链(jQuery)在 Ipad 上的 ScrollLeft 和 ScrollTop

JQuery 移动 IOS 设备如何在 web 上删除默认滚动