我正在尝试从DataGrid中拖放一个元素,这是一个FocusPanel的小部件。目标是另一个DataGrid,它是DialogBox中包含的另一个FocusPanel的小部件。 onDragStart方法运行正常。我可以使用调试器(Firefox 53.0)检查dataTransfer对象是否使用DragStartEvent的setData方法填充。在目标的一侧,正确调用onDrop方法。问题是dataTransfer对象为null,DropEvent的getData方法返回错误。我不明白为什么dataTransfer对象为null。
答案 0 :(得分:0)
我在阅读段落时找到了答案"表演一滴"在MDN"拖动操作"。有一个js代码片段,其中event.preventDefault()放在onDrop函数的末尾。这引起了我的注意,因为我的Java代码在onDrop()方法的开头调用了preventDefault()。我将调用preventDefault()移动到方法的末尾并且它可以工作。 dataTransfer不再为null,getData()返回正确的信息。