Rolf B: Wiki-Push: Spiele mit JavaScript

Beitrag lesen

Hallo Matthias,

zum Thema Drag und Drop: Das Wiki zitiert einen ziemlich unflätigen Peter-Paul Koch, dass drag und dragover das Gleiche seien, und empfiehlt dann, dass man dragover nicht nutzen solle.

Es brummt der A-Bär: Entweder verstehe ich da was grundsätzlich falsch, oder PPK hat sich in seinem Zorn schwer vergaloppiert. ODER aber er moppert nur dann zu Recht, wenn mal ein Browser das dropzone Attribut implementiert.

Denn es gibt zwei entscheidendende Unterschiede: Das Event Target. Beim drag Event ist das Target das bewegte Element. Und bei dragover ist des das Element, über dem man gerade mit dem bewegten Element schwebt. Das ist ein entscheidender Unterschied, denn in dragover kann ich prüfen, ob auf diese Weise kann ich prüfen, ob ich gerade über einem drop-fähigen Element schwebe (mangels droppable-Attribut) und entsprechend den dropEffect setzen. In dragstart und dragenter gelingt mir das nicht.

Hinzu kommt: Ohne einen preventDefault-Aufruf im dragover Event ist es unmöglich, irgendwas zu droppen. Der Mauszeiger bleibt auf "Stop". Die Frickl-Beispiele machen das ebenfalls.

Also - PPK redete Unfug und der wurde unreflektiert nachgeplappert, oder ich plappere hier unverstandenen Käu daher. Was ist richtig?

Rolf

--
sumpsi - posui - obstruxi