内部滚动,点击拖放

时间:2012-01-05 19:51:13

标签: javascript drag-and-drop touch iscroll4

我正在建立一个网络应用并尝试启用触控功能。

我有一个需要滚动的列表(我目前正在使用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没有进行目标拖动。有没有办法将该目标创建为可拖动元素?或者我最好只是克隆elment然后以某种方式将克隆设置为可拖动?或任何其他建议。

0 个答案:

没有答案