2017-02-23 79 views
0

Я пытаюсь создать список перетаскиваемых объектов, но событие перетаскивания каким-то образом препятствует событию прокрутки на мобильных устройствах (протестировано на планшете Windows, на рабочем столе шт. он отлично работает). Я могу либо прокручивать, либо перетаскивать, но не оба. Если я установил «-ms-touch-action» и «touch-action» на none, я могу прокрутить, если я его не установлю, я могу перетащить.jQuery touch-punch перетаскиваемый в списке: прокрутка и перетаскивание помех (мобильное устройство)

Сенсорный удар включен также. Я думаю, лучший способ решить эту проблему - вызвать событие перетаскивания, удерживая элемент на одну или две секунды, но я не могу заставить это работать.

Важно, чтобы переполнение списка было видимым при запуске и обратно до «на остановке», потому что мне нужно перетаскивать элементы из границ разделов, и мое приложение не позволяет мне это делать любым другим способом.

Вы можете проверить код здесь: http://jsfiddle.net/LQuyr/344/

Надеется, что вы, ребята, можете мне помочь. Благодарю.

// draggable 
$('#sortable li').draggable({ 
    scroll: false, 
    helper: 'clone', 
    start: function(e, ui) { 
    $('#sortable').css('overflow', 'visible'); 
    }, 
    stop: function(e, ui) { 
    $('#sortable').css('overflow', ''); 
    } 
}); 

ответ

0

Может быть вариант задержки, что вы ищете ...

$('#sortable li').draggable({ 
     delay: 300, 
     scroll: false, 
     helper: 'clone', 
     start: function(e, ui) { 
     $('#sortable').css('overflow', 'visible'); 
     }, 
     stop: function(e, ui) { 
     $('#sortable').css('overflow', ''); 
     } 
    });