получить значение div из другого div?

#javascript #html

#javascript #HTML

Вопрос:

итак, у меня есть перетаскиваемый элемент HTML div:

 <div id="server" draggable="true" ondragstart="return dragStart(event)">Server</div>
  

и целевой div:

 <div id="target1" ondragenter="return dragEnter(event)" ondrop="return dragDrop(event)" ondragover="return dragOver(event)"></div>
  

если я перетаскиваю перетаскиваемый объект в цель, то как мне получить значение внутри перетаскиваемого объекта, если у меня есть только ссылка на цель, в которой находится перетаскиваемый объект?

Комментарии:

1. Мне немного непонятно, о чем вы спрашиваете. Разве вы не могли бы получить значение того, что вам нужно в любое время, ссылаясь на элементы id ?

Ответ №1:

Возможно, вы захотите использовать dataTransfer.setData метод для события перетаскивания и datatransfer.getData метод для события отбрасывания. Эти методы позволят вам передавать данные между вашими элементами.

 function allowDrop(ev) {
  ev.preventDefault();
}

function drag(ev) {
  var newText = ev.target.innerText;
  newText = "I've been dropped!";
  ev.dataTransfer.setData("text", ev.target.id);
  ev.dataTransfer.setData("divData", newText);
  console.log(ev.target); //available data
}

function drop(ev) {
  var dragElemID = ev.dataTransfer.getData("text");
  var dragElemData = ev.dataTransfer.getData("divData");
  var draggedElem = document.getElementById(dragElemID)
  ev.preventDefault();
  ev.target.appendChild(draggedElem);
  ev.target.children[0].innerText = dragElemData;
}  
 #div1{
  border:1px solid;
  width:100px;
  height:150px;
}

#drag1{
  background-color:lightblue;
  width:100px;
  height:100px;
}  
 <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">Target Div</div>

<div id="drag1"draggable="true" ondragstart="drag(event)" width="336" height="69">Drop Div</div>  

Комментарии:

1. Я спрашивал, возможно ли получить доступ к удаленному значению div без ut begin в функции drop и уже в целевом объекте, имея только ссылку на цель