1

我对 Gwt 中的 Drag n Drop 知之甚少。我在互联网上搜索,似乎有 2 个不同的包(或 2 个选项)用于拖放。
https://code.google.com/p/gwtquery-plugins/wiki/DragAndDropPluginForGWTDeveloppers

&

https://code.google.com/p/gwt-dnd/source/browse/DragDrop/

为什么 Google 为 DnD 开发了 2 种不同的策略?哪一个更好?

4

1 回答 1

3

GWT 拖放实现基于HTML5 D&D API。这样的 API 基本上允许您使用本机拖放来传输数据。例如,这意味着您可以从浏览器外部拖动内容。简化,您需要设置一个拖动元素、一个放置目标和DataTransfer将保存要传输的实际数据的对象。我想它也可以用于通过创建和销毁(on和 on )来模拟DOM应用程序中元素(例如,小部件)的拖放,但它的目的是不同的。dragstartdragend

由于这个 API 相当新,并不是每个浏览器都原生支持它。请参阅http://caniuse.com/dragndrop。另请参阅此视频及其演示文稿以帮助您入门。

另一方面,gwt-dnd旨在真正在应用程序中拖放小部件。所以你可以开箱即用地移动东西。此外,这个库不是由谷歌直接开发的(尽管它的作者为公司工作/编辑)。查看它的wiki展示

另一个相对较新的库是GwtQuery的拖放插件。GwtQuery 是一个类似 jQuery 的 GWT 库,它的 d&d 支持是通过之前的插件实现的。它还支持单元格小部件之间的 d&d。看它的陈列柜。同样在这种情况下,此类库旨在为本地 GWT 小部件提供 d&d 功能。

于 2013-04-27T12:57:49.090 回答