我正在尝试将 ondragstart 处理程序添加到我动态创建的图像中:
var image = new Image();
image.src = "https://www.filepicker.io/api/file/JhJKMtnRDW9uLYcnkRKW";
image.onload = function(event){
this.ondragstart = drag(event);
divImage.appendChild(this);
};
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
但是,我收到错误:未捕获的类型错误:无法调用未定义的方法“setData”
我已经使用通过 dom 加载的静态图像进行了尝试,它工作正常,但为什么我的动态生成的图像不起作用?出于某种原因,在拖动功能中,当它是动态创建的图像时,ev 不包含 dataTransfer 对象?有谁知道为什么?
这就是我想要做的: http ://www.w3schools.com/html/tryit.asp? filename=tryhtml5_draganddrop 除了,我希望能够通过 javascript 动态创建图像,并将 ondragstart 处理程序添加到它。
谢谢,