Bestimmen Sie, was aus Dragenter- und Dragover-Ereignissen gezogen wird

Ich versuche die HTML5 Draggable API zu verwenden (obwohl ich es merke)hat seine Probleme). Bisher ist der einzige Showstopper, auf den ich gestoßen bin, dass ich keinen Weg finden kann, um zu bestimmen, was bei a gezogen wirddragover oderdragenter Ereignisfeuer:

el.addEventListener('dragenter', function(e) {
  // what is the draggable element?
});

Mir ist klar, dass ich davon ausgehen könnte, dass es das letzte Element ist, das a abfeuertdragstart Ereignis, aber ... Multitouch. Ich habe auch versucht mite.dataTransfer.setData von demdragstart eine eindeutige Kennung anzuhängen, aber anscheinend sind diese Datennicht zugänglich vondragover/dragenter:

Diese Daten sind nur verfügbar, wenn während des Drop-Ereignisses ein Drop erfolgt.

Also irgendwelche Ideen?

Aktualisieren: Zum jetzigen Zeitpunkt scheint HTML5-Drag-and-Drop in keinem größeren mobilen Browser implementiert zu sein, so dass in der Praxis über Multitouch diskutiert wird. Ich hätte jedoch gerne eine Lösung, die garantiert für jede Implementierung von funktioniertdie spezifikationDies scheint nicht auszuschließen, dass mehrere Elemente gleichzeitig gezogen werden.

Ich habe geposteteine funktionierende Lösung unten, aber es ist ein hässlicher Hack. Ich hoffe immer noch auf eine bessere Antwort.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage