Mam prostą konstrukcję olii i chcę dodać do niej drag'n'drop. Dodatkowo chcę podświetlić element pozycji i dragover w różnych kolorach. Jest to jednak nietypowy błąd w WebKit.: Najedź myszą na element na przeciągnij i upuść
- Zrób ostatni przedmiot.
- Przeciągnij do góry.
- Upuść go do pierwszego elementu.
I ostatni element przechwytuje pseudoklaskę Hover! Czemu? Jak mogę temu zapobiec?
To jest przykład:
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);
}
Jaką przeglądarkę widzisz w szczególności? Jsfiddle nie łamie się dla mnie. – TimHayes
Mam ten sam problem na krawędzi chrome (35.0.1916.153). Jest to denerwujące i musi być błędem. Nie jestem usatysfakcjonowany z używania JS do wykonywania zawisu, myślę, że jest bardziej chirurgiczne rozwiązanie. – SimplGy