防止iOS pinch事件注册为单击

时间:2011-11-02 20:52:44

标签: jquery ipad events

我在 web 应用程序中实现了全屏图像查看库。我将为您提供完整的详细信息,但其中一个关键的互动是点击全屏图片转到下一个。这适用于点击设备,以及用户点击图像的触摸设备。两者都是作为点击事件收到的,我在我的javascript中处理以加载下一张图片。

对于触摸设备(比如iPad),我喜欢用户可以捏合以进一步缩放到图像中。然而,当他们放开他们的捏手势(通过举起他们的手指)时,这个手势注册为点击事件,它将加载下一个图像。不好,因为他们想要缩放,而不是去下一张图片。

因此,我正在寻找一种方法来处理夹点事件并防止它们触发点击事件。捏合手势应该只进行缩放,而不是注册为单击。

有人知道这样做的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用 onmousedown onmouseup 而不是点击。如果所有其他方法都失败了,您可以记录这两个事件之间的距离,如果它超过某个阈值(即可能是一个捏合手势),那么您可以忽略它

我当然假设一个pinch注册了 onmousedown onmouseup ,它可能没有。但如果没有,您可以使用它未注册的任何事件而不是单击

答案 1 :(得分:0)

用于处理手势和触摸事件的Apple文档 https://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

您想要关注的命令将是touchEnd和gestureEnd。也许就像在gestureEnd上返回false一样? (我不是程序员,但希望这有助于让球滚动,你将能够弄明白。)

祝你好运!