Ich versuche, die ziehbare HTML5-API zu verwenden (obwohl mir klar ist, dass sie Probleme hat ). Bisher ist der einzige Showstopper, dem ich begegnet bin, dass ich nicht herausfinden kann, was gezogen wird, wenn ein dragover
oder ein dragenter
Ereignis ausgelöst wird:
el.addEventListener('dragenter', function(e) {
// what is the draggable element?
});
Mir ist klar, dass ich davon ausgehen kann, dass es das letzte Element ist, das ein dragstart
Ereignis auslöst, aber ... Multitouch. Ich habe auch versucht, e.dataTransfer.setData
von der dragstart
zu verwenden, um eine eindeutige Kennung anzuhängen, aber anscheinend ist auf diese Daten von / : nicht zugegriffen werden.dragover
dragenter
Diese Daten sind nur verfügbar, wenn während des Drop-Ereignisses ein Drop auftritt.
Also irgendwelche Ideen?
Update: Zum jetzigen Zeitpunkt scheint HTML5-Drag-and-Drop in keinem größeren mobilen Browser implementiert zu sein, weshalb Multitouch in der Praxis nicht erwähnt wird. Ich möchte jedoch eine Lösung, die garantiert für jede Implementierung der Spezifikation funktioniert, was nicht zu verhindern scheint, dass mehrere Elemente gleichzeitig gezogen werden.
Ich habe unten eine funktionierende Lösung veröffentlicht , aber es ist ein hässlicher Hack. Ich hoffe immer noch auf eine bessere Antwort.