获得徽章 0
- 求问移动端 webview 内嵌的前端 canvas 画图小游戏 , 在部分安卓机上会有 touchmove 事件触发频率偏低的情况 , 怎么破 QAQ ( 快速画圆可能就触发两三次 )
试过 touchmove 内部 return false / 阻止冒泡 , 均无效
有意思的是连上 chrome 用 inspect 功能监听就正常了 , 但是不连的话触发频率就很低展开评论1 - TL ; DR
坚持 投入 性感前端 , 在线摸鱼
首先 , 四年的大学生涯还是进入了尾声 , 四年的坚持让我走到了这里 , 很是感激 , 感谢曾经努力的自己 , 虽然你还是打了一年的游戏 , 还经常坑队友 , 不过在我心中你还是还是很棒哒
想做的事太多太多 , 感觉自己这个问题要好好修一修 , 大多都是随心而动 , 结果浅尝辄止 , 上半年又复习了一波 ThreeJS / MatterJS 和 Python , 手写一波 Hello World
目前在做一个音乐播放器的项目 , 学习一波 react hook , 搞搞 svg 和 canvas 做动画效果 , 另外还在坚持背单词 , 毕竟买了 ipad mini 和笔 , 不用就很可惜
接下来的半年希望自己可以专注并且坚持地去做一件喜欢的事情 , 在年终的时候给自己一个满意的答卷展开评论2 - 想问大佬们一个技术问题 , React Hook 相关
代码大体就是通过 touchStart 给定计时器 , 如果没触发 touchEnd 事件就不去清除 , 计时器里面又会去生成计时器 , 做到在移动端按下之后持续触发指定事件的效果
目前在 handleTouchStart => func 函数中进行 debug 是有在走的 , 里面的 event 事件也有执行 , 但是 event 内部对 useState 创建的变量的 set 操作没有生效 , 还请大佬们指点一二 , 非常感谢
``` 元素节点
<div
className="sub"
onClick={sub}
onTouchStart={() => handleTouchStart(sub)}
onTouchEnd={handleTouchEnd}
></div>
<div
className="add"
onClick={add}
onTouchStart={() => handleTouchStart(add)}
onTouchEnd={handleTouchEnd}
></div>
```;
// add 和 sub 函数分别对变量进行增加和减小操作
// 定时器
const [timer, setTimer] = useState(undefined);
// touch start , 进行事件触发
const handleTouchStart = (event) => {
const func = () => {
event();
setTimer(setTimeout(func, 200));
};
setTimer(setTimeout(func, 500));
};
// touch end , 清除定时器 , 阻止事件触发
const handleTouchEnd = () => {
clearTimeout(timer);
};展开164