我使用了link的stackoverflow在项目中向左/向右滑动写入,但是现在我希望在每次滑动1秒钟后和激活触摸1秒钟后不激活touchstart。在下面,只有我自己使用的算法介意,但效果不佳。
var drag = true;
function touchStart(event, passedName){
if(!drag){
// document.removeEventListener('touchstart', touchStart, false);
return;
}
else{
drag = false
}
// do for touchstart
setTimeout(function(){
drag = true;
}, 1000);
}
然后我在touchMove中添加以下代码:
function touchMove(event){
ul.style.left = event.touches[0].pageX - x + 'px';// touchstart inactive but element still moving
}
答案 0 :(得分:1)
您还必须屏蔽touchMove
:
var dragging = false, blocked = false;
function touchStart(event, passedName){
if(blocked) return;
blocked = true;
setTimeout(() => blocked = false, 1000);
dragging = true;
}
function touchEnd(event) { dragging = false; }
function touchMove(event) {
if(!dragging) return;
//...
}