拖放不下降

时间:2013-04-30 15:26:51

标签: javascript drag-and-drop

我正在尝试使用JS来拖动家谱中的drop节点。但是,节点将拖动,但不会放置它们放置的位置。他们回到原来的位置。

我不确定我是否正在定义可以正确删除它们的区域。 JS代码是:

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("img");
ev.target.appendChild(document.getElementById(data));
}  

然后我在HTML部分插入了一个DIV以允许删除:

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

然后HTML代码允许拖动元素:

<a  title="No Info "draggable="true" ondragstart="drag(event)" href="DiggaDiary1.html" id="shadow" href="#">++ Annie Johnson 1781-(Tuam)</a>
            <ul>

由于 夏兰

2 个答案:

答案 0 :(得分:0)

您的代码是正确的,但是您在dragstart中设置'text'而不是'img',请按以下方式设置:

var data = ev.dataTransfer.getData('Text');

这是jsfiddle

修改:

你也可以更容易,如下所示:

function drop(ev)
{
    ev.preventDefault();
    var data=ev.srcElement;
    ev.target.appendChild(data);
} 

答案 1 :(得分:0)

得到它,感谢您的帮助,element.parentNode.removeElement(element);加上newParent.appendChild(元素)工作