我正在开发一个草图网络应用程序(使用 Angular ),并且由于使用单指手势进行绘制,我希望能够 垂直滚动 在草图内容用两根手指 .
当尝试用两根手指滚动时,Safari 会退出当前选项卡并显示打开的选项卡列表。我可以通过调用 preventDefault()
来取消此行为在 TouchEvent
如果 e.touches.length > 1
但是(显然)不会滚动内容。当然,我可以实现一个在调用 e.preventDefault()
后动态滚动的解决方案。 ,但这有点棘手。
我想知道是否有人知道更简单/更好的解决方案?
谢谢
最佳答案
最后,我实现了一个基于touchmove
的基本解决方案。和 touchstart
事件。
let lastTouchY;
element.addEventListener('touchstart', (event) =>
{
if (event.touches.length === 2)
{
event.preventDefault();
lastTouchY = event.touches[0].clientY;
}
});
element.addEventListener('touchmove', (event) =>
{
if (event.touches.length === 2)
{
event.preventDefault();
const delta = lastTouchY - event.touches[0].clientY;
lastTouchY = event.touches[0].clientY;
element.scrollTop += delta;
}
});
JSFiddlehttps://jsfiddle.net/r7hkmaeo/84/
关于javascript - 用两根手指垂直滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62776956/