我试图创建一个简单的功能,用户可以在两个div之间拖放图像。我遇到的问题是,当您将图像拖到另一个图像上时,它将最终位于该img标记内。
您可以在此处看到错误: http://codepen.io/anon/pen/smgyd
我想要发生的是,即使您将图像拖到另一个上面,图像也只是坐在彼此之下。
我希望我的问题清楚明了。任何意见是极大的赞赏。谢谢。
答案 0 :(得分:0)
请在此处附上您的代码。
该脚本完全符合您的要求:
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
如果在鼠标悬停在图像上时放下图像,则ev.target
等于此图像。
您需要找到当前目标所需的下沉接收器。
如果您可以使用jQuery,那么您可以使用$.closest("div");
,因为您使用的是vanilla JS,这里有一个可以帮助您完成此任务的线程:Finding closest element without jQuery