如何在 iPad 上通过滚动使工作 jquery “滑动”?
Posted
技术标签:
【中文标题】如何在 iPad 上通过滚动使工作 jquery “滑动”?【英文标题】:How to make work jquery "swipe" with scroll on iPad? 【发布时间】:2015-12-18 08:48:23 【问题描述】:我有两个 div,彼此相邻。除了click
事件,我还添加了swiperight
和swipeleft
来做一些事情。但是当我添加这些 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 “滑动”?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery + 移动设备:我如何上下滚动? (iOS:iPad)