如何在移动设备上实现jQuery拖动?

6

我有一个应用程序,允许用户拖动一些图片。它使用jQuery。我正在尝试在移动设备上使其工作(在iPhone上,如果我拖动图片,整个页面都会被拖动)。我想使用jQuery Mobile。这是正确的方法吗?如果是,从普通的jQuery过渡到jQuery Mobile很容易吗?而且,如果我使用jQuery Mobile,它仍然可以在桌面上拖动吗?

谢谢!


可能是重复的问题:jquery mobile drag and drop - Francisco Presencia
1个回答

13

我发现了一个非常简单的解决方法 - jQuery UI Touch Punch

它通过有效地将触摸事件转换为点击事件,使您的可拖动代码在移动设备/平板电脑触摸屏上按照您所希望的方式工作。

要实现这个功能,您只需要下载Touch Punch脚本并将其包含在您的HTML中之后您的其他jQuery / jQuery UI包含项:

<script src="scripts/jquery.ui.touch-punch.min.js"></script>

我在Android和iOS上进行了测试,对我来说一次就成功了,没有任何问题。


在安卓手机上,使用Chrome浏览器对我来说不起作用。有没有可能的解决方案? - Madan Bhandari
抱歉,@NeosFox,我刚看到你的评论。你解决了吗? - ban-geoengineering
1
糟糕!这个评论已经两年前了,我不记得那个问题了,也许我已经解决了 :D 如果我有任何回忆,我会在这里更新。 - Madan Bhandari
1
不是最佳解决方案:如果要拖动的元素占据整个视口,使用jQuery UI Touch Punch会阻止文档滚动。在使用容器隐藏溢出的仅可水平拖动的元素(如可拖动的旋转木马)时,甚至可能会出现问题。在这种情况下,旋转木马会阻止用户上下滚动文档。我更喜欢 jQuery Touch(github.com/ajlkn/jquery.touch),它可以使移动端仅能触摸拖动(鼠标手势可以被过滤),并且不会阻止触摸事件传播(因此,文档可以被滚动)。 - MaxAuray
1
@ban-geoengineering 这个链接打不开了吗? - topsoftwarepro
有点晚了,但是这是链接:https://github.com/furf/jquery-ui-touch-punch/find/master - ban-geoengineering

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接