移动端点击事件在快速点击时偶尔触发两次怎么办?

文亭 阅读 8

在移动端列表项上用了click事件,但快速点击时偶尔会触发两次,比如这样:


item.addEventListener('click', () => {
  console.log('被点击了');
});

试过给事件加防抖函数,但没用。检查代码逻辑没问题,单击正常,就是连续快戳的时候偶尔会多触发一次。是不是移动端特有的问题?

我来解答 赞 12 收藏
二维码
手机扫码查看
1 条解答
上官芯依
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