我希望能够拖放-并通过此操作将一个图像叠加在另一个图像上。它们是透明的图像。
但是,每当我尝试执行此操作时,第一张图像就会消失。 有什么建议吗?
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
答案 0 :(得分:0)
它消失了,因为您使用了ev.target.appendChild(document.getElementById(data));
。
每个元素只能在单个实例中存在于DOM中。对现有元素执行appendChild
,可从当前位置提取它。如果您想复制元素-例如,您需要使用cloneNode
方法来显式复制元素。
ev.target.appendChild(document.getElementById(data).cloneNode());