appendChild没有工作onDrop到无序列表 - JavaScript

时间:2017-06-30 22:47:34

标签: javascript drag-and-drop html-lists droppable appendchild

我正在编写一个代码,涉及将图片从一个div拖放到另外两个div。这是jsFiddle:https://jsfiddle.net/Yikes/rpko3996/

最右边的div,listDiv,将任何丢弃的内容附加到realList中,其中包含ul。我根据droppable是否是克隆来编码我的drop行为。源自浅灰色div(左边最远的一个)的Droppables不是克隆。源自暗灰色div(中间的一个)的Droppables是克隆,必须从浅灰色div中放下(这个onDrop完美地工作)。

这是有问题的onDrop方法:

function dropBuild(ev){
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");
    if(!(document.getElementById(data).id.toString()).startsWith("n")){
        clone = document.getElementById(data).cloneNode(true);
        var num = Math.random() * (1000 - 1) + 1;
        clone.id = "newId" + num.toString();
    }
    else{
        clone = document.getElementById(data);
        clone.style.position = "absolute";
        clone.style.left = null;
        clone.style.top = null;
    }
    document.getElementById("realList").appendChild(clone);
}

有谁知道为什么document.getElementById("realList").appendChild(clone)只适用于我的if语句而不适用于else语句?

谢谢!

0 个答案:

没有答案