Javascript GWT DND更改数据传输图像或光标
当您转到此页面时,例如:然后开始拖动任何歌曲,您会得到这种良好的拖放行为: 然后,在拖放过程中,当您将鼠标悬停在接受拖放的区域上时,光标下的图像将更改为显示可以进行拖放: 有没有机会让这种东西与GWT一起工作 我为一些文本制作了一个虚拟小部件,在拖动开始后更改绘图方式似乎不起作用。我也尝试过改变光标,但没有成功Javascript GWT DND更改数据传输图像或光标,javascript,gwt,drag-and-drop,Javascript,Gwt,Drag And Drop,当您转到此页面时,例如:然后开始拖动任何歌曲,您会得到这种良好的拖放行为: 然后,在拖放过程中,当您将鼠标悬停在接受拖放的区域上时,光标下的图像将更改为显示可以进行拖放: 有没有机会让这种东西与GWT一起工作 我为一些文本制作了一个虚拟小部件,在拖动开始后更改绘图方式似乎不起作用。我也尝试过改变光标,但没有成功 @覆盖 公共交通事故(DragOverEvent事件){ dragIndicator.setInnerText(“可以删除!”); event.getDataTransfer().s
@覆盖
公共交通事故(DragOverEvent事件){
dragIndicator.setInnerText(“可以删除!”);
event.getDataTransfer().setDragImage(绘图指示器,
10, 10);
}
拥有拖放功能很好,但正如我在这里看到的,我们只能修改悬停的元素我错了吗?
编辑
在阅读W3C()时,我遇到了以下问题:
“dropEffect”属性可控制
在拖放操作过程中指定用户。当数据传输
对象时,dropEffect属性设置为字符串值。
获取时,它必须返回其当前值。设置时,如果新的
值是“无”、“复制”、“链接”或“移动”中的一个,则
属性的当前值必须设置为新值。其他价值观
必须忽略这一点
但是,我在GWT代码中没有发现类似的内容,也许我会使用JSNI尝试它(必须检查它是否是标准的)好的,我已经设法在悬停期间使用JSNI更改光标(仅在FF 15中测试)这远远不够完整和正确。
公共类MonWidget扩展小部件实现HasAllDragandDropHandler{
私人部门主管部门;
公共服务
{
mainDiv=Document.get().createDivElement();
SpanElement span1=Document.get().createSpanElement();
span1.设置内部文本(“span1”);
span1.可设置拖动(Element.DRAGGABLE_TRUE);
span1.getStyle().setBackgroundColor(“红色”);
SpanElement span2=Document.get().createSpanElement();
span2.设置内部文本(“span2”);
span2.可设置拖动(Element.DRAGGABLE_TRUE);
span2.getStyle().setBackgroundColor(“蓝色”);
主分区附加子分区(span1);
主要部门附属儿童(第2页);
setElement(mainDiv);
this.addDragStartHandler(新的DragStartHandler(){
公共启动(DragStartEvent事件){
Element=Element.as(event.getNativeEvent().getEventTarget());
event.setData(“文本”、“某些数据”);
event.getDataTransfer().setDragImage(元素,
10, 10);
}
});
this.addDragOverHandler(新的DragOverHandler(){
@凌驾
公共交通事故(DragOverEvent事件){
setEffet(event.getNativeEvent(),“copy”);
//setEffet(event.getNativeEvent(),“link”);
//这似乎不起作用-setEffet(event.getNativeEvent(),“move”);
event.stopPropagation();
}
});
}
....
以及JSNI方法:
public最终本机void setEffet(NativeEvent e,字符串效果)/*-{
var dt=数据传输;
dt.dropEffect=效应;
}-*/;