Чтобы сработало событие touchmove нужно обязательно кликнуть на элемент?
пытаюсь реализовать перемещение элемента на сенсорных экранах, но при попытке потянуть элемент он никак не реагирует. Перемещение срабатывает только если предварительно кликнуть на этот элемент. Подскажите в чем может быть ошибка
var marker = document.querySelector('.cap__square');
var onStart = function(startEvt) {
startEvt.preventDefault();
var onMove = function(e) {
let slideBlock = document.querySelector('.cap__block');
let pageX = e.changedTouches[0].clientX - block.getBoundingClientRect().left - square.clientWidth;
let pageXRight = e.changedTouches[0].clientX - block.getBoundingClientRect().left - 2;
if (pageX > -1 && pageXRight < slideBlock.clientWidth) {
pazl.style.left = pageX + 'px';
square.style.left = pageX + 'px';
square.style.top = unplashImgHeight + 11 +'px';
} else {
square.addEventListener('touchend') = function() {
document.removeEventListener('touchmove', onMouseMove);
square.onmouseup = null;
};
}
};
var onEnd = function(endEvt) {
window.removeEventListener('touchmove', onMove);
window.removeEventListener('touchend', onEnd);
marker.removeEventListener('touchstart', onStart);
};
window.addEventListener('touchmove', onMove, true);
window.addEventListener('touchend', onEnd, true);
};
marker.addEventListener('touchstart', onStart, true);
<div class="cap__block">
<div class="cap__square">
<img src="img/icon/arrow.svg" class="img-svg cap__arrow" alt="">\
</div>
</div>