我需要在我的网站上拖放。我有两个选项,我必须选择一个拖放方块。我的第一个问题是,当我拖动一个项目时,我无法将其拖回来,我的第二个问题是,当我移动我的方块和项目的位置时,拖放不起作用。有人可以帮帮我吗?或者是否有适合我的概念的jQuery插件?
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));
}

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<img id="drag1" src="images/cone.png" draggable="true" ondragstart="drag(event)">
<img id="drag2" src="images/cup.png" draggable="true" ondragstart="drag(event)">
&#13;
答案 0 :(得分:0)
你必须将图像包装在div的一侧,就像将要删除图像的div一样。
你提到的JavaScript部分似乎没问题。只需将图像包装在div中
请提供有关第二个问题的更多详细信息。你改变广场和物品的位置是什么意思
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 src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)" style="width: 200px; height: 200px; float:left; border: 1px solid; margin: 2px;"></div>
<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)" style="width: 200px; height: 200px; float:left; border: 1px solid; margin: 2px;">
<img id="drag1" src="images/cone.png" draggable="true" ondragstart="drag(event)" width="100" height="100" />
<img id="drag2" src="images/cup.png" draggable="true" ondragstart="drag(event)" width="100" height="100" />
</div>