微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

区分触摸事件和滑动/拖动事件? 在触摸设备上反应

如何解决区分触摸事件和滑动/拖动事件? 在触摸设备上反应

我首先有一个onClick函数,这很好,基本上是正确的。然后我注意到将onTouchStart用于触摸设备感觉更敏捷,更快捷,因此我实现了它:

<MyComponent
    onTouchStart={() => {
       doStuff();
    }}
  >

问题是我只想在用户单击某项(或者在这种情况下:触摸并放开)时才触发doStuff(),而不是在他/她上下滑动,滚动或拖动时触发。这可能吗?

PS:不是反应性问题,而是反应在移动设备上查看的网站

编辑:

我想我可以做到:

let [hasMoved,setMoved] = useState(false);

return (
  <MyComponent
    id={id}
    onTouchMove={() => {
      setMoved(true);
    }}
    onTouchStart={() => {
      setMoved(false);
    }}
    onTouchEnd={() => {
      if (hasMoved) return;
      doStuff();
    }}
  >

...但是这似乎不再那么快了!有什么建议吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。