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