JavaScript拖放功能无法在Edge Browser

时间:2017-12-08 17:19:59

标签: javascript drag-and-drop microsoft-edge

我正在开发一个网络应用程序,可以跟踪下一个要发言的人 电话会议或会议。将多个扬声器添加到堆叠(左侧)后,可以重新排列扬声器的顺序。该应用在Chrome和Firefox中正常运行,但我无法使用Edge浏览器在新位置删除名称标签。我不知道自己做错了什么。我已经实施了this,但它仍然无法运作。这是我的拖放逻辑:



function dragStart(event) {
    heldItem = event.target;
    console.log("dragging started");
    event.dataTransfer.setData('text', event.target.id);
}

function dragDrop(event) {
    event.preventDefault ? event.preventDefault() : (event.returnValue = false);

    var x = event.clientX;
    var y = event.clientY;
    var index = 0;
    var child;

    elementUnderMouse = document.elementFromPoint(x, y);
    child = elementUnderMouse;

    while ((child = child.previousElementSibling) != null) {
        index++;
        console.log("in loop");
    }

    console.log(index);

    if(event.target.className == "speaker") {
        stackList = document.getElementById("stackList");
        stackList.insertBefore(heldItem, stackList.childNodes[index]);
        console.log("item appended");
    }
}

function dragOver(event) {
    event.preventDefault ? event.preventDefault() : (event.returnValue = false);
    console.log("dragging..");
}




该应用已在victoragosto.com/stacker上线,完整源代码位于https://github.com/otsoga/stacker

0 个答案:

没有答案