2017年制作拖放构建器的最佳方法是什么?是的,这个问题已被问到before但是那是5年前我认为事情已经改变了? HTML5,jQuery UI还是现在还有其他选择吗?
最近的问题Form Builder From Scratch - HTML 5 Drag and Drop, or JQuery UI Draggable, or What?也未得到答复。
任何帮助都会很棒!我已经开始兼顾两者了(我从来没有使用过HTML5或jQuery UI的Drag and Drop,所以我很难做出决定。)jQuery UI似乎更容易使用和理解,但也似乎非常错,很好至少在codepen中。
答案 0 :(得分:5)
我们刚刚对ReactJs拖拽进行了一些研究,老实说对方有点伤感。因此,如果您正在寻找纯HTML 5拖放,这是一个很棒的网站,向您展示你是如何搞砸的: https://caniuse.com/#feat=dragndrop
因此,截至撰写本文时,如果你使用的是纯HTML5 DND,那么你真的不会涉及移动设备。
现在未列出的是所有边缘情况,以使该功能在浏览器中看起来相同。在Edge,Firefox和Chrome之间,添加一个Icon以显示您正在拖动项目,一个在复制的元素上有轻微的不透明度,而另一个则执行其他操作。无论哪种方式,对齐这些设计(取决于你的设计团队有多烦人)都很容易(例如,只要拖放工作就不在乎)不可能(例如在我拖动时摆脱图标)。 / p>
现在谈到JQuery,它已经存在了一段时间,但这并不意味着它也没有它的缺点。因为它在JS层而不是浏览器本身中运行,取决于系统中发生了多少,它会感觉有点慢。此外,我确实注意到它开始拖动恼人的情况,例如当您尝试滑动页面以在Edge中滚动时。我们这方面的编程也可能很差。
我认为最后我们只使用了React Dnd和HTML5后端。似乎工作得很好,对于那些移动场景,我们只有菜单选项,以不同的形式公开相同的功能。它最终帮助了可访问性,因为解释通过键盘快捷键拖放的所有操作都有点烦人。
不确定这是否有帮助,但如果我记得(并且已经过了大约6个月)就会失败。
答案 1 :(得分:1)
我建议将jqueryui与一个名为“触摸打孔”的小技巧一起使用,该技巧可让您捕获移动设备的事件,例如屏幕上的ontouch。我更喜欢jqueryui,因为它比HTML5更完整并且相对易于使用。 链接: http://touchpunch.furf.com
祝你好运