当您使用 JavaScript(例如 jQuery UI 可拖放和可拖放)向网页添加拖放功能时,如何在移动设备上通过浏览器查看时使其工作 - 其中拖放的触摸屏操作被拦截用于滚动页面等的电话?
欢迎所有解决方案......我最初的想法是:
有一个用于移动设备的按钮,可以“抬起”要拖动的项目,然后让它们单击要放置项目的区域。
编写一个为移动设备执行此操作的应用程序,而不是尝试让网页在它们上工作!
请您提出建议和意见。
当您使用 JavaScript(例如 jQuery UI 可拖放和可拖放)向网页添加拖放功能时,如何在移动设备上通过浏览器查看时使其工作 - 其中拖放的触摸屏操作被拦截用于滚动页面等的电话?
欢迎所有解决方案......我最初的想法是:
有一个用于移动设备的按钮,可以“抬起”要拖动的项目,然后让它们单击要放置项目的区域。
编写一个为移动设备执行此操作的应用程序,而不是尝试让网页在它们上工作!
请您提出建议和意见。
jQuery UI Touch Punch 可以解决所有问题。
它是对 jQuery UI 的触摸事件支持。基本上,它只是将触摸事件连接回 jQuery UI。在 iPad、iPhone、Android 和其他支持触控的移动设备上进行了测试。我使用了 jQuery UI 可排序,它就像一个魅力。
我需要创建一个适用于台式机、移动设备、平板电脑(包括 Windows 手机)的拖放 + 旋转功能。最后一个使它变得更加复杂(mspointer 与触摸事件)。
解决方案来自伟大的Greensock 图书馆
使同一个对象可拖动和旋转需要一些跳跃,但它工作得很好
Sencha Touch的测试版支持拖放。
您可以参考他们的DnD 示例。顺便说一下,这只适用于 webkit 浏览器。
将该逻辑改造成网页可能会很困难。据我了解,它们禁用所有浏览器平移并完全在 javascript 中实现平移事件,从而允许正确解释拖放操作。
更新:原始示例链接已死,但我找到了这个替代方法:https :
//github.com/kostysh/Drag-Drop-example-for-Sencha-Touch
您不妨尝试一下Tim Ruffle 的拖放式 polyfill,当然与Bernardo Castilho的类似(请参阅 @remdevtec 答案)。
简单地做npm install mobile-drag-drop --save
(其他安装方法可用,例如使用凉亭)
然后,任何依赖于触摸检测的元素界面都应该在移动设备上工作(例如,只拖动一个元素,而不是同时滚动+拖动)。