首页 > 解决方案 > 以向后的方式将整个内容从一个 div 拖放到所有其他 div

问题描述

我正在尝试做同样的事情,但做不到。实际上我已经创建了五个 div,我希望一个 div 中包含的全部信息以来回方式拖放到所有其他 div 中。这是我的代码:JAVASCRIPT

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

HTML:

<div id="container" ondrop="drop(event)" ondragover="allowDrop(event)">
    <div id="box" draggable="true" ondragstart="drag(event)" ondrop="drop(event)">hey !! this is me ....</div>

    <div id="box" draggable="true" ondragstart="drag(event)" ondrop="drop(event)">Draggable item 1 </div>

    <div id="box" draggable="true" ondragstart="drag(event)" ondrop="drop(event)">Draggable item 2 </div>
    </div>

    <br>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div><br>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div><br>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div><br>

标签: javascripthtml

解决方案


让你的代码像这样工作https://jsfiddle.net/50ar7wpk/11/

<head>
  <style>
    .container {
      background-color: #DDD;
      height: 80px;
      margin: 10px;
      padding: 4px;
    }
  </style>
  <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>
</head>

<body>
  <div id="container" class="container" ondrop="drop(event)" ondragover="allowDrop(event)">
    <div id="box1" draggable="true" ondragstart="drag(event)">hey !! this is me ....</div>
    <div id="box2" draggable="true" ondragstart="drag(event)">Draggable item 1 </div>
    <div id="box3" draggable="true" ondragstart="drag(event)">Draggable item 2 </div>
  </div>

  <br>
  <div id="div1" class="container" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
  <div id="div2" class="container" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
  <div id="div3" class="container" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</body>

推荐阅读