kirillbelash93
@kirillbelash93
Сертифицированный сыч

Возможно ли включить сортировку во время touchstart?

Суть задачи, есть список sortable, реально ли запускать сортировку пока мы держим палец и выполняется событие touchstart? Например библиотека sortable.js не стартует если зажать и держать палец. Понятно, что поток заблочен событием, но как выбить вне потока и начать сортировку?
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
grantur5707
@grantur5707
Full Stack Web Developer
Вместо того чтобы полностью полагаться на touchstart, используйте его для начала подготовки, но инициализируйте сортировку с помощью других событий, например touchmove. При этом стоит ограничить область touchmove, чтобы сортировка не начиналась до явного движения пальцем. Также нужно вручную инициировать сортировку.

var sortable = new Sortable(listElement, {
    animation: 150,
    onStart: function (evt) {
        console.log('Начало сортировки');
    }
});

listElement.addEventListener('touchstart', function (e) {
    var touch = e.touches[0];
    var targetElement = document.elementFromPoint(touch.clientX, touch.clientY);

    sortable._onDragStart({
        target: targetElement,
        clientX: touch.clientX,
        clientY: touch.clientY,
        type: 'touchstart'
    });
}, false);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы