移动端点击事件在快速点击时偶尔触发两次怎么办? 文亭 提问于 2026-02-18 04:03:28 阅读 8 移动 在移动端列表项上用了click事件,但快速点击时偶尔会触发两次,比如这样: item.addEventListener('click', () => { console.log('被点击了'); }); 试过给事件加防抖函数,但没用。检查代码逻辑没问题,单击正常,就是连续快戳的时候偶尔会多触发一次。是不是移动端特有的问题? 我来解答 赞 12 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 上官芯依 Lv1 用 touchstart 替代 click,或者加个标志位防重复触发。代码如下: let lock = false; item.addEventListener('click', () => { if (lock) return; lock = true; console.log('被点击了'); setTimeout(() => lock = false, 300); // 300ms锁定期 }); 搞定。 回复 点赞 1 2026-02-18 05:00 加载更多 相关推荐 2 回答 58 浏览 移动端快速滑动后点击触发多次事件怎么解决? 在开发移动端列表时遇到了奇怪的问题,当用户快速滑动列表后松手,偶尔会触发多余的点击事件。我用touchstart和touchend计算坐标差来模拟点击,但滑动结束时如果手指短暂悬停就会误触。 试过给点... Tr° 熙研 移动 2026-01-31 20:36:27 1 回答 47 浏览 移动端双击事件如何避免误触发并准确识别快速双击? 我在开发一个移动端图片查看器时,想用双击缩放功能,但发现双击事件经常被误触发——比如快速点击两次会被识别成一次双击,或者明明间隔0.5秒以上还是触发了。试过用setTimeout记录第一次点击时间,但... 迁迁 移动 2026-02-05 21:52:37 1 回答 123 浏览 移动端Touch滑动事件为什么会触发两次点击? 我在移动端用touch事件实现滑动删除功能时,发现快速滑动后总会触发两次click事件,导致逻辑混乱。代码里绑定了touchstart和touchend,还加了防抖处理,但问题依旧: let star... ♫国凤 移动 2026-02-01 07:41:25 2 回答 22 浏览 AlloyFinger手势识别在移动端滑动时触发两次end事件怎么办? 我在用AlloyFinger实现移动端左右滑动切换页面时,发现onPanEnd事件会被触发两次,导致页面跳转逻辑混乱。代码检查过事件绑定没重复,但问题依然存在: const engine = new ... UX毓珂 移动 2026-02-01 14:50:32 1 回答 59 浏览 为什么移动端TouchEnd事件在快速滑动后不触发? 在移动端做卡片滑动交互时,发现当快速滑动手指离开屏幕后,TouchEnd事件偶尔不触发,导致卡片位置没及时更新。代码已经绑定了TouchEvent,但测试时发现: 尝试给卡片加了CSS过渡效果后问题更... 宇文晨晰 交互 2026-01-31 08:54:29 1 回答 29 浏览 移动端长按事件和点击事件冲突怎么办? 我在移动端项目里给图片列表加长按删除功能,但发现长按触发的时候会同时触发点击事件。比如用户长按图片想删除,结果页面直接跳转到详情页了。 我用了touchstart设setTimeout,touchen... Tr° 纳利 移动 2026-02-07 12:48:32 1 回答 59 浏览 Hammer.js双指缩放时为什么会触发点击事件? 在移动端网页里用Hammer.js给图片绑定了双指缩放和点击事件,但每次缩放结束后总会意外触发点击跳转。试过在缩放事件里用event.stopPropagation()也不行... const mc ... 爱书的笔记 交互 2026-02-18 09:54:46 2 回答 38 浏览 移动端触摸事件阻止冒泡后父元素点击还是触发了怎么办? 我在开发移动端列表滑动删除功能时遇到问题。子元素的touchstart事件里用了e.stopPropagation(),但父元素的点击事件还是会被触发,这是为什么呢? 具体场景是这样的:列表项有一个可... 雨欣酱~ 移动 2026-02-14 02:14:25 2 回答 88 浏览 React中touchend事件为什么在快速滑动后无法触发? 我在用React做手势滑动时发现,当快速滑动手指离开屏幕后,touchend事件偶尔不触发,这是为什么? 代码是这样的: function Slider() { const handleTouchSt... 端木正宇 移动 2026-02-01 12:34:25 2 回答 123 浏览 移动端双击事件如何避免快速点击导致多次触发? 在移动端开发中,我给按钮绑定了双击事件,用touchstart记录时间差判断双击: let lastTap = 0; element.addEventListener('touchstart', ()... Designer°红娟 移动 2026-02-01 04:51:28
touchstart替代click,或者加个标志位防重复触发。代码如下:搞定。