Я использую "touchmove", чтобы перетащить объект на мобильное устройство, например, так:
window.onload = function () {
var box = document.getElementById('box');
box.addEventListener('touchmove', move);
box.addEventListener('touchend', end);
box.addEventListener('touchstart', start);
box1.addEventListener('touchmove', move);
box1.addEventListener('touchend', end);
box1.addEventListener('touchstart', start);
}
function start(e) {
currentBox = e.target;
}
function move(e) {
var touchLocation = e.targetTouches[0];
// assign box new coordinates based on the touch.
currentBox.style.left = touchLocation.pageX + 'px';
currentBox.style.top = touchLocation.pageY + 'px';
}
function end(e) {
var x = parseInt(currentBox.style.left);
var y = parseInt(currentBox.style.top);
}
Перед добавлением второго поля и события "touchstart" я просто переместил "коробку" внутрь "двигаться "и" конец ", и все работает отлично. Но мне нужно иметь несколько перетаскиваемых объектов на моей странице, поэтому мне нужно было как-то выяснить, какой объект перетаскивается. Однако это решение, похоже, не работает. Я попытался использовать document.elementFromPoint
вместо «target», но в результате перетаскивание всех видов нежелательных объектов повсюду. Любая идея, как я могу использовать этот метод, чтобы правильно перетащить более одного объекта?