внутренняя прокрутка, нажмите с помощью drag-n-drop - PullRequest
0 голосов
/ 05 января 2012

Я создаю веб-приложение и пытаюсь сделать его сенсорным.

У меня есть список, который нужно прокрутить (я сейчас использую iScroll)

Элементы в списке можно нажимать.

Элементы в списке можно перетаскивать (я надеюсь).

Я использую следующий код для отключения щелчков при прокрутке

var myScrollingList = new iScroll('list_scrolling' ,
                { 
       onScrollMove: function() {
        $('a').bind('click', function(e){ e.preventDefault();});
      },    
     onScrollEnd : function(){
        $('a').unbind('click');
   }
    });

Я использую следующий код (с jQuery longclick), чтобы определить разницу между кликом и длинным кликом, чтобы у меня был триггер при длинном щелчке при перетаскивании

    $('a.item').click(500,function(ev){
            console.log('long-click');
        ev.target.draggable({
                helper: function(){
                                return  jQuery(this).clone().appendTo('body').css('zIndex',500);
                                }
                                });
            return false;
        });

        $('a.item').click(function(){
            console.log('short click');
            return false;
        });

Хорошая новость заключается в том, что я могу прокручивать, не вызывая «длинный щелчок».

Проблемы двоякие

1) обычный клик срабатывает в конце прокрутки, но не «короткий клик», так что это обычное событие клика без JavaScript, которое запускается.

2) мой ev.target.draggable не выполняет перетаскивание цели. Есть ли способ превратить эту цель в перетаскиваемый элемент? Или мне лучше просто клонировать элемент, а потом каким-то образом сделать клон перетаскиваемым? Или любые другие предложения.

...