触屏touchstart 与click事件冲突

用phonegap开发android应用,给div加上来滚动的效果:
     	$("#" + id).bind('touchstart', function(event){
scrollStartPos = this.scrollTop+event.touches[0].pageY;
event.preventDefault();
});

$("#" + id).bind('touchmove', function(event){
this.scrollTop=scrollStartPos-event.touches[0].pageY;
event.preventDefault();
});

这样确实实现了滑动的效果,但是给div里面绑定的click事件不再触发了。
解决办法:
     	$("#" + id).bind('touchstart click', function(event){
scrollStartPos = this.scrollTop+event.touches[0].pageY;
e.stopPropagation();
event.preventDefault();
});

$("#" + id).bind('touchmove', function(event){
this.scrollTop=scrollStartPos-event.touches[0].pageY;
event.preventDefault();
});

这样即实现滚动效果,又保留了click事件。

你可能感兴趣的:(移动开发)