我正在尝试使用JS拖拽一个家族树上的节点。但是,节点将拖动,但不会放在放置它们的位置。它们会回到原来的位置。
我不确定我是否定义了可以正确删除它们的区域。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>谢谢Ciaran
发布于 2013-05-01 00:24:41
你的代码是正确的,但是你在你的dragstart中设置了'text‘而不是'img’,所以如下所示:
var data = ev.dataTransfer.getData('Text');这是jsfiddle。
编辑:
你也可以让它变得更简单,如下所示:
function drop(ev)
{
ev.preventDefault();
var data=ev.srcElement;
ev.target.appendChild(data);
} 发布于 2013-05-08 16:23:07
明白了,谢谢你的帮助,element.parentNode.removeElement(元素);加上newParent.appendChild(元素)起作用了
https://stackoverflow.com/questions/16303531
复制相似问题