Reactjs 动态更改自定义拖动图像
是否有机会更改在Reactjs 动态更改自定义拖动图像,reactjs,drag-and-drop,Reactjs,Drag And Drop,是否有机会更改在onDragStart事件中设置的自定义拖动图像 在DnD过程中使用e.dataTransfer.setDragImage(图像,0,0)进行动态操作?例如,在onDragEnter中 规范说,dataTransfer仅对dragStart事件具有写访问权限,但可能有人知道另一种方法来更改它或在没有dataTransfer接口的情况下设置自定义拖动映像? DnD逻辑是必需的,因为拖动过程支持交叉选项卡+onDrop事件有很多复杂的逻辑,所以我不能简单地为mousemove事件添加
onDragStart
事件中设置的自定义拖动图像
在DnD过程中使用e.dataTransfer.setDragImage(图像,0,0)
进行动态操作?例如,在onDragEnter
中
规范说,dataTransfer仅对dragStart事件具有写访问权限,但可能有人知道另一种方法来更改它或在没有dataTransfer接口的情况下设置自定义拖动映像?
DnD逻辑是必需的,因为拖动过程支持交叉选项卡+onDrop事件有很多复杂的逻辑,所以我不能简单地为mousemove
事件添加侦听器并将图像附加到当前鼠标位置
问题是将dragStart事件中已设置的拖动图像更改为dragEnter事件中的另一个图像。我很确定DNDAPI不可能做到这一点,但可能是有人遇到了同样的问题,并通过另一种方式解决了它。我在谷歌上找到了它。
以下是片段:
document.getElementById(“随图像拖动”).addEventListener(“dragstart”,函数(e){
console.log('dragstart');
var img=document.createElement(“img”);
img.src=”http://kryogenix.org/images/hackergotchi-simpler.png";
e、 dataTransfer.setDragImage(img,0,0);
},假);
document.getElementById(“随图像拖动”).addEventListener(“拖动”),函数(e){
console.log('drag')
var img=document.createElement(“img”);
img.src=null;
e、 dataTransfer.setDragImage(img,0,0);
},假)代码>
.dragdemo{
背景颜色:蓝色;
边界半径:5px;
颜色:白色;
填充:10px 30px;
文本对齐:居中;
宽度:80px;
}
拖动我
谢谢,但是“dragStart”上没有问题集拖动图像,使用“dragEnter”更改图像有问题当您在dropzone内时使用dragEnter
,您想在这里更改图像吗?非常感谢您的时间。不幸的是,我知道你写的一切。问题是将dragStart事件中已设置的拖动图像更改为dragEnter事件中的另一个图像。我很确定DNDAPI是不可能的,但可能是有人有同样的问题,并通过另一种方式解决了它。我更新了主题,以确保正确描述了问题是的,明白了,我非常确定DnD不可行:/你明白了吗?我也有同样的问题