- 356 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:43:40.87 ID:/IOfqNlx0.net]
- >>338
こゆこと? 指がtouchstartから2秒以上同じ位置に停止していた場合、その後touchend(指を離す)までに発生したtouchmove(スクロール)を中止する。 var element = document.getElementById('element'); let timer, flag = false; element.addEventListener('touchstart', function(event) { timer = setTimeout(function() { flag = true; }, 2000); }); element.addEventListener('touchend', function(event) { timer = clearTimeout(timer); flag = false; }); document.addEventListener('touchmove', function(event) { if (flag) { event.preventDefault(); } else if (timer) { timer = clearTimeout(timer); } }, {passive:false}); >>347 touchmoveが一旦開始すると以降キャンセル不可になるみたいだな
|

|