首页 > 解决方案 > 保留被拖动的元素

问题描述

我正在制作一个拖动事件,但是当我这样做时,我想保留我试图拖动的元素。

这是我试图做的。

function drag(ev) {

ev.dataTransfer.setData("text", ev.target.id);
var data = ev.dataTransfer.getData("text");
console.log(document.getElementById(data));
document.getElementById("tareas").append(document.getElementById(data));
}

在我console.log得到document.getElementById(data)这个

<p id="item1" class="text-danger materias" draggable="true" ondragstart="drag(event)">Cambio aceite</p>

但它不会留下来,如果有人能给我一个关于如何保留元素的想法。谢谢。(编辑)添加图像

初始状态

我希望该项目保持在最初的位置。 在此处输入图像描述

标签: javascriptjqueryhtmldrag-and-drop

解决方案


您可以先克隆它,然后将新元素附加到那里,而不是将元素移动到新位置。

例如:将您的最后一行更改drag()为:

document.getElementById("tareas").append(document.getElementById(data).cloneNode(true)); 

推荐阅读