触屏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事件。

你可能感兴趣的:(click)