HTML 5拖放jQuery UI拖放的优点

时间:2012-03-01 21:39:02

标签: html5 drag-and-drop jquery-ui-draggable

我正在编写一个新的Web应用程序,需要支持页面上元素的拖放操作(而不是文件拖放)。

这个问题的答案

html5 vs jquery drag and drop

建议使用Modernizr来检查浏览器是否支持HTML5拖放,并使用该支持或回退到jQuery UI等替代方案。

由于它们具有完全不同的模型,这意味着必须单独实现和测试所有拖放代码(非常少的共享实现)。如果对HTML5拖放有重大的,对用户有影响的好处,并且如果jQuery UI的回退会提供降级的体验,那么这似乎是合乎逻辑的。

实施这两种变体是否有显着的好处?

5 个答案:

答案 0 :(得分:12)

我猜最终jQuery将利用内置的浏览器功能,如html 5拖放。

如果不同的浏览器以不同的方式实现它...... jQuery将处理它。

答案 1 :(得分:12)

我认为HTML5拖放jQuery的最大优势是消除了相当大的jQuery UI库和css文件。

话虽如此,目前存在浏览器兼容性问题,这使得jQuery非常需要。

答案 2 :(得分:7)

好的,已经实现了两者,我建议手动使用mousedown / mousemove事件(基本上就像jquery UI那样)。

我同意jQuery UI可能有点沉重,但是有很多教程/代码片段可供自己编写代码。

为什么我建议使用手动方法而不是现代浏览器中的本机实现?因为html5 DnD sux!它对于当前的浏览器可能是新的,但是在IE5中的旧实现之后建模。

如果你正在谈论在桌面之间移动东西,那么我可能会考虑使用html5 DnD,因为它有浏览器/操作系统挂钩。否则,如果您只是在单个网页上移动DOM节点,请使用js鼠标事件手动执行。

-Paul

答案 3 :(得分:3)

我正在回答有关dnd的问题,因为这似乎就是你所要求的。 我认为有些人会混淆jQuery与jQueryUI。在性能和开发时间方面,将原生HTML5 dnd与jQuery结合使用是很好的结合。由于dnd功能来自IE世界,浏览器支持非常好(包括IE7肯定,甚至更老)。使用jQuery为您提供了至关重要的所有跨浏览器addClass()removeClass()等工具。

另一方面,jQueryUI提供了许多你可能不需要的功能。因为他们的dnd依赖于鼠标事件而不是原生dnd,性能不会那么好。 jQueryUI不应该与jQuery混淆。在超过2。5年的时间里,jQueryUI没有收到任何重大更新! (是的,jQueryUI 1.8rc1是在2010年1月)所以,它不是那么简单,只是说它们将来会增加本机支持,按照它们更新的速度我不会屏住呼吸。

答案 4 :(得分:0)

我刚刚将一个脚本转换为使用基于HTML5的拖放可排序脚本而不是jQueryUI脚本,因为我尝试排序的大小,初始化jQueryUI版本需要19秒,而.19初始化HTML5版本的秒数。

如此优势:速度