就像我在标题中描述的那样,我想将图像拖出“列表”(实际上只是一个 div,我将图像加载到数据库之外)并希望将其放入“dropzone”中。
希望每个人都能理解我的英语。
我的问题是:我对 JavaScript 和 HTML5 完全陌生,我的应用程序只能部分工作。
我将图像拖放到 dropzone 中……到目前为止一切都很好……但是传输的图像已从我的列表中消失了 --> 我只想复制/克隆图像。
将图片放入拖放区后,我的函数只是将图片附加到拖放区中......我知道“appendChild”与它有关,但我不知道如何解决这个问题。
如果有人可以帮助我,那将是非常好的?!
JavaScript 代码:
//controls the beginning of an drag-event
function dragStart(ev)
{
ev.dataTransfer.effectAllowed= "copyLink";
ev.dataTransfer.setData("Text", ev.target.getAttribute("id"));
return true;
}
//handles the dropzone
function dragEnter(ev)
{
//avoids placing the element somewhere else (instead of in the dropzone)
event.preventDefault();
return true;
}
//handles dropping an element before the target area
function dragOver(ev)
{
return false;
}
//handles the actual drop part (not working)
function dragDrop(ev)
{
var eleid = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(eleid));
ev.preventDefault();
ev.returnValue();
}
HTML:
-标签:
<img id="person_id_'. $metaData["meta_id"] . '" draggable="true" "ondragstart= "return dragStart(event)" src="'. $path .'"/>
拖放区:
<div id= "dropzone" ondragenter= "return dragEnter(event)" ondragover= "return dragOver(event)" ondrop= "return dragDrop(event)"></div>