javascript - 用两根手指垂直滚动

标签 javascript html mobile scroll safari

我正在开发一个草图网络应用程序(使用 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;
  }
});

JSFiddle
https://jsfiddle.net/r7hkmaeo/84/

关于javascript - 用两根手指垂直滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62776956/

相关文章:

javascript - 使用 URL 哈希触发 Google map 信息窗口

javascript - docker/ Selenium / headless Chrome : Configure SUID sandbox correctly

javascript - 将多个组件加载到 js 文件,但仅使用所需的组件

css - 单击边框按钮会在 css 转换 :scale() is active 时触发单击

Javascript - 使用 foreach 并在鼠标悬停时更改图像

html - @media 对我来说不能正常工作

javascript - 从 keyup 事件中获取字符

jquery - 提供 html5 和 CSS3 特性的好库

mobile - 使用 Modernizr 测试平板电脑和移动设备 - 征求意见

android - 安卓同时使用wifi和3G接口(interface)?