HTML5拖放相对于jQueryUI拖放的优势



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

这就是这个问题的答案

html5 vs jquery拖放

建议使用Modernizr检查浏览器是否支持HTML5拖放,并使用该支持或回退到jQueryUI等替代选项。

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

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

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

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

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

也就是说,当前浏览器兼容性的问题使得jQuery非常需要。

好的,在实现了这两个之后,我建议使用mousedown/mousemove事件手动执行(基本上与jquery UI一样)。

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

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

如果你谈论的是从桌面在窗口之间移动,那么也许我会考虑使用html5DnD,因为它有浏览器/OS挂钩。否则,如果您只是在一个网页上移动DOM节点,请使用js鼠标事件手动执行。

-Paul

我是专门回答关于dnd的问题的,因为这似乎是你所问的。我认为有些人将jQuery与jQueryUI混淆了。将本地HTML5dnd与jQuery结合使用,无论在性能还是开发时间上都是一个很好的组合。由于dnd功能来自IE世界,浏览器的支持非常全面(当然包括IE7,甚至可能更旧)。使用jQuery可以提供所有跨浏览器的addClass()removeClass()等实用程序,这些实用程序是至关重要的。

另一方面,jQueryUI提供了大量您可能不需要的功能。由于他们的dnd依赖于鼠标事件,而不是本地dnd,因此性能不会那么好。jQueryUI不应与jQuery混淆。jQueryUI在超过2.5年的时间里没有收到任何重大更新!(是的,jQueryUI 1.8rc1是在2010年1月发布的)所以,仅仅说他们将在未来添加本地支持并不是那么简单,以他们一直在更新的速度,我不会屏住呼吸。

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

因此优势:速度

最新更新