我使用普通的传统 GWT DnD 而不是 gwt-dnd 库(因为我不需要 DnD 小部件,而是普通数据,所以我想保持简单)。
我可以使用源的 Image 小部件来实现它。
然后我切换到 HTML 小部件,但拖动不起作用:没有错误没有什么,只是拖动不再拖动。
代码(问题在于拖动部分,我在下面仅列出这部分代码):
HTML theWidget = new HTML("some string"); // NOK : doesn't drag
// Image theWidget = new Image ("path/image.png"); // OK : does drag
theWidget.addDragStartHandler(new DragStartHandler() {
public void onDragStart(DragStartEvent event) {
event.setData(data, "some data" );
}
});
怎么了 ?
看起来没有 DragStartEvent 因为在我单击拖动并将鼠标移动到放置目标后,浏览器会选择介于两者之间的内容(拖动开始到放置目标)。
为了调查,我添加了一个 MouseDownHandler,并且确实触发了一个 MouseDownEvent。
所以问题是:如何控制在 DragStartEvent 和 MouseDownEvent 之间触发哪个事件 GWT ?