我正在开发一个网络应用程序,可以跟踪下一个要发言的人 电话会议或会议。将多个扬声器添加到堆叠(左侧)后,可以重新排列扬声器的顺序。该应用在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