如何解决区分触摸事件和滑动/拖动事件? 在触摸设备上反应
我首先有一个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 举报,一经查实,本站将立刻删除。