Вывод данных с удалением

#javascript #html

#javascript #HTML

Вопрос:

Пожалуйста, скажите мне, что есть обычное перетаскивание. Внутри помещаются промежутки. Как отобразить в предупреждении data-orderID о промежутке, который мы удалили. Заранее большое спасибо.

 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));
}  
 #div1,
#div2 {
  float: left;
  width: 100%;
  height: 100%;
  margin: 10px;
  padding: 10px;
  display: inline-block;
}
.drop {
width:100px;
height:50px;
display:block;
border:1px solid black;
}  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="background:#fafafa;width:100%;height:440px;padding-top:10px;">
  <div style="text-align:center;width:49%;height: 100%;display:inline-block;border-right:1px solid #e0e0e0;">
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
      <span class="drop" draggable="true" ondragstart="drag(event)" id="drag1" data-orderID="1">SPAN 1</span>
    </div>
  </div>
  <div style="text-align:center;width:49%;height: 100%;display:inline-block;">
    <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)">
      <span class="drop" draggable="true" ondragstart="drag(event)" id="drag2"  data-orderID="2">SPAN 2</span>
    </div>
  </div>
</div>  

Ответ №1:

  1. Вам нужно сохранить элемент перетаскивания с некоторой переменной во время перетаскивания.
  2. Затем получите data при сбросе

 var drag_elem="";
function allowDrop(ev) {
  ev.preventDefault();
}

function drag(ev) {
  ev.dataTransfer.setData("text", ev.target.id);
  drag_elem = ev.target;
}

function drop(ev) {
  ev.preventDefault();
  alert(drag_elem.getAttribute('data-orderID'))
  var data = ev.dataTransfer.getData("text");
  ev.target.appendChild(document.getElementById(data));
}  
 #div1,
#div2 {
  float: left;
  width: 100%;
  height: 100%;
  margin: 10px;
  padding: 10px;
  display: inline-block;
}
.drop {
width:100px;
height:50px;
display:block;
border:1px solid black;
}  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="background:#fafafa;width:100%;height:440px;padding-top:10px;">
  <div style="text-align:center;width:49%;height: 100%;display:inline-block;border-right:1px solid #e0e0e0;">
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
      <span class="drop" draggable="true" ondragstart="drag(event)" id="drag1" data-orderID="1">SPAN 1</span>
    </div>
  </div>
  <div style="text-align:center;width:49%;height: 100%;display:inline-block;">
    <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)">
      <span class="drop" draggable="true" ondragstart="drag(event)" id="drag2"  data-orderID="2">SPAN 2</span>
    </div>
  </div>
</div>