首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拖放而不是拖放

拖放而不是拖放
EN

Stack Overflow用户
提问于 2013-04-30 23:26:51
回答 2查看 563关注 0票数 0

我正在尝试使用JS拖拽一个家族树上的节点。但是,节点将拖动,但不会放在放置它们的位置。它们会回到原来的位置。

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

代码语言:javascript
复制
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,以允许拖放:

代码语言:javascript
复制
  <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

然后是允许拖拽元素的HTML代码:

代码语言:javascript
复制
<a  title="No Info "draggable="true" ondragstart="drag(event)" href="DiggaDiary1.html" id="shadow" href="#">++ Annie Johnson 1781-(Tuam)</a>
            <ul>

谢谢Ciaran

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-01 00:24:41

你的代码是正确的,但是你在你的dragstart中设置了'text‘而不是'img’,所以如下所示:

代码语言:javascript
复制
var data = ev.dataTransfer.getData('Text');

这是jsfiddle

编辑:

你也可以让它变得更简单,如下所示:

代码语言:javascript
复制
function drop(ev)
{
    ev.preventDefault();
    var data=ev.srcElement;
    ev.target.appendChild(data);
} 
票数 0
EN

Stack Overflow用户

发布于 2013-05-08 16:23:07

明白了,谢谢你的帮助,element.parentNode.removeElement(元素);加上newParent.appendChild(元素)起作用了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16303531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档