我有簡單的ol-li結構,並且想要添加drag'n'drop到它。另外我想突出懸停項目和dragover項目在不同的顏色。但這是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);
}
什麼瀏覽器,你在具體看到? jsfiddle不會爲我打破。 – TimHayes
我有邊緣鉻(35.0.1916.153)相同的問題。這很煩人,而且必須是一個錯誤。我不滿意使用JS做懸停狀態,我認爲有更多的手術方案。 – SimplGy