Events 如何制作phonegap可选择的可滚动div列表

Events 如何制作phonegap可选择的可滚动div列表,events,cordova,touch,selected,scrollable,Events,Cordova,Touch,Selected,Scrollable,正如标题所说。我想在一个div中创建一个div元素列表。我想能够上下滚动列表,当列表不再滚动时,我想能够单击列出的元素来执行某些操作。我想不出怎么做 每当用户触摸div时,touchmove事件就会执行,即使div正在滚动。然后我不知道如何让程序知道div不再滚动,所以下一次触摸元素将触发不可滚动事件 编辑: 到目前为止我所知道的是。。。然而,这是一个快速的“修复”,它并没有按预期工作。例如,如果您快速上下滚动,则div会认为您按下了其中一个元素 exerciseWrapper是滚动div中的元

正如标题所说。我想在一个div中创建一个div元素列表。我想能够上下滚动列表,当列表不再滚动时,我想能够单击列出的元素来执行某些操作。我想不出怎么做

每当用户触摸div时,touchmove事件就会执行,即使div正在滚动。然后我不知道如何让程序知道div不再滚动,所以下一次触摸元素将触发不可滚动事件

编辑:

到目前为止我所知道的是。。。然而,这是一个快速的“修复”,它并没有按预期工作。例如,如果您快速上下滚动,则div会认为您按下了其中一个元素

exerciseWrapper是滚动div中的元素。每个元素都围绕exerciseWrapper进行包装

$('.exerciseWrapper').on('touchstart',function(){

        touchstart=true;
                setTimeout(function(){

                    touchstart=false;           
                    }, 100); 

    });

    $('.exerciseWrapper').on('touchend',function(){

        if(touchstart)
        {
                $('.exerciseWrapper').not(this).css('border-color','black');
                $(this).css('border-color','orange');
        }

    });

好的,所以我终于想出了这个。。我之所以不能集中精力解决这个问题,是因为我无法让事件开始和事件结束之后的其他事件工作。。。在撰写本文时,我仍然无法让其他事件(如eventcancel和eventleave)正常工作。然而eventmove可以工作,我使用这个事件解决了这个问题。当移动手指时,eventmove会不断更新其链接的元素。然后我有一个touchmove变量,如果我滚动我的div(带有touchmove事件),它将始终为true。当我停止移动时,我可以再次点击所选元素并使用普通的eventstart事件。。这是我的工作代码:

var touchmove=false;
function AddExercisesEvents()
{
    $('#exerciseMenu').on('touchmove',function(){

            touchstart=true;    
                        $('h1').text("move");

        });

    $('.exerciseWrapper').on('touchend mouseup',function(event){
                    event.stopPropagation();
                    event.preventDefault();
                    //  $('.exerciseWrapper').off();

                if(event.handled !== true)
                {
            touchstart=false;

            //ENTERING editExercise Menu..!
            if(!touchstart)
                {
        //insert magic here 
                                alert($(this).attr('id'));


                }


                }
                    return false;
                                 });
}