拖放问题

时间:2017-09-27 16:07:17

标签: javascript html drag-and-drop

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

1 个答案:

答案 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>