我有简单的 ol-li 构造,并想在其中添加拖放操作。另外,我想以不同的颜色突出显示悬停项目和拖动项目。但这是 WebKit 中一个不寻常的错误。
- 捕获最后一项。
- 将其拖到顶部。
- 将其放到第一项。
最后一个元素捕获悬停伪类!为什么?我该如何预防?
这是一个例子:
var lis = document.querySelectorAll("li"),
ol = document.querySelector("ol"),
dragged = false,
dragover = false;
ol.addEventListener("drop", function(event) {
ol.insertBefore(dragged,dragover);
this.classList.remove("insistent");
}, false);
for (var i=0, n = lis.length; i < n; i++) {
lis[i].addEventListener("dragstart", function(event) {
dragged = this;
ol.classList.add("insistent");
}, false);
lis[i].addEventListener("dragover", function(event) {
if (dragover) {
dragover.classList.remove("dragover");
}
event.preventDefault();
dragover = this;
this.classList.add("dragover");
}, false);
}