использовать сенсорное движение, чтобы перетащить несколько объектов - PullRequest
0 голосов
/ 07 октября 2019

Я использую "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», но в результате перетаскивание всех видов нежелательных объектов повсюду. Любая идея, как я могу использовать этот метод, чтобы правильно перетащить более одного объекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...