Внутренняя прокрутка, нажмите с помощью drag-n-drop
Я создаю веб-приложение и пытаюсь сделать его сенсорным.
У меня есть список, который нужно прокрутить (в настоящее время я использую iScroll)
Элементы в списке можно нажимать.
Элементы в списке можно перетаскивать (я надеюсь).
Я использую следующий код для отключения кликов при прокрутке
var myScrollingList = new iScroll('list_scrolling', { onScrollMove: function() { $('a').bind('click', function(e){ e.preventDefault();}); }, onScrollEnd: function(){ $('А') отвязать ('щелчок'). } });
Я использую следующий код (с jQuery longclick), чтобы определить разницу между кликом и длинным кликом, чтобы я мог при длинном клике вызвать перетаскивание
$ ('A.item'). Нажмите (500, функция (эв){ console.log('длинный клик'); ev.target.draggable({ helper: function(){ return jQuery(this).clone().appendTo('body').css('zIndex',500); } }); вернуть ложь; }); $('A.item'). Выберите (функция (){ console.log("короткий клик"); вернуть ложь; });
Хорошая новость заключается в том, что я могу прокручивать, не вызывая "длинный щелчок".
Проблемы в два раза
1) регулярный щелчок запускается в конце прокрутки, но не "короткий щелчок", поэтому срабатывает обычное событие щелчка не в JavaScript.
2) мой ev.target.draggable не выполняет перетаскивание цели. Есть ли способ превратить эту цель в перетаскиваемый элемент? Или мне лучше просто клонировать элемент и затем каким-то образом сделать клон перетаскиваемым? Или любые другие предложения.