HTML5 События перетаскивания - несогласованные координаты pageX pageY - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь реализовать функцию перетаскивания изображения внутри элемента контейнера.

Я добавил в изображение события dragStart и dragEnd, и пытаюсь захватить координаты в начале и в конце, а затем применить разница в координатах как style = "transform: translate(dx, dy)"

Однако, что-то странное: похоже, что координаты начала и события не являются явными - когда я перетаскиваю изображение даже на пару пикселей вправо, я вижу довольно существенная разница в координатах х и у. Я пытался использовать pageX / pageY, clientX / clientY и screenX / screenY - все ведут себя неосторожно, screenX / Y - худшие.

Проверьте fiddle - и попытайтесь перетащить зеленое изображение на несколько пикселей вправо ...

В чем здесь дело? я неправильно понимаю эти значения?

Редактировать: Кажется, что ondrag координаты соответствуют ondragstart - но в этом случае я, кажется, получаю другое событие с координатами 0,0 .. Я проверяю это с chrome 79.0.3945.130 на ма c.

...