Björn C
Björn C

Reputation: 4008

Drop not working?

I'm trying to get HTML5 DnD working.
I can drag but not drop. Why?
What am i missing out?

Fiddle:
https://jsfiddle.net/un4e4rqn/

HTML

<div class="well" id="columns">
  <section id="drop_element" ondrop="drop(event)" ondragover="allowDrop(event)"></section>
</div>
<div class="col-md-2 well" id="lista_objekt">
  <section id="drag_element">
    <ul>
      <li class='elements' id='888' draggable='true' ondragstart='drag(event)'>222</li>
    </ul>
  </section>
</div>

JS

function allowDrop(ev){
  ev.preventDefault();
}
function drag(ev){
  ev.dataTransfer.setData("Text",ev.target.id);
}
function drop(ev){
  ev.preventDefault();
  var data = ev.dataTranfer.getData("Text");
  ev.target.appendChild(document.getElementById(data));
}

CSS

#drop_element {
  height: 200px;
  width: 200px;
  border: 3px solid activeborder;
}
.elements:hover {
  color: red;
}

Upvotes: 1

Views: 1458

Answers (1)

Blue
Blue

Reputation: 22921

It looks like you spelt dataTransfer wrong in your drop method. Here is an updated jsfiddle.

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

}

Upvotes: 3

Related Questions