我有几个可拖动的节点需要在删除后突出显示,只有被删除的元素需要有边框。
例如:我删除了nodeA,它将突出显示。稍后当我删除nodeB时,应突出显示nodeB,并且不应突出显示nodeA。
这是我写的功能:
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
var nodeCopy = document.getElementById(data).cloneNode(true);
test++;
nodeCopy.id =test; /* We cannot use the same ID */
var newNodeId= nodeCopy.id;
ev.target.appendChild(nodeCopy);
document.getElementById(newNodeId).className += " draggeddStyle";
}
我可以使用以下方式突出显示节点:
document.getElementById(newNodeId).className += " draggeddStyle;
之后,如果我拖动另一个节点,则两个节点最终都具有相同的样式。
答案 0 :(得分:0)
只需修改代码示例。
function drop(ev) {
ev.preventDefault();
$(".draggeddStyle").removeClass("draggeddStyle");/* added this line */
var data = ev.dataTransfer.getData("text");
var nodeCopy = document.getElementById(data).cloneNode(true);
test++;
nodeCopy.id =test; /* We cannot use the same ID */
var newNodeId= nodeCopy.id;
ev.target.appendChild(nodeCopy);
document.getElementById(newNodeId).className += " draggeddStyle";
}
我认为这很有效。