js实现的长按事件,与a链接如何共存?


<li @click="longPress($event)">
  <a href="/">
   <img src="../a.jpg" />
  </a>
</li>

function longPress () {
  console.log('longpress event');
}

e.target.ontouchstart = () => {
  timer = setTimeout(longPress, 800);
}

e.target.ontouchend = () => {
  clearTimeout(timer);
}

长按事件已实现,请问怎么判断用户是想点击还是想长按呢?

阅读 4.7k
2 个回答

结贴!!!

参考链接

参考这个实现即可,很简单。

感觉你已经写出来了啊 改下就行

现在外面定义var click = false;

touchstart的时候设置 click = false;//每次点击都设置一次

setTimeout执行后就把click设为true;//0.8秒过去了就是true

touchend的时候查询这个click 如果是true 就是长按0.8秒了 执行长按的对应方法

如果是false 就说明没有长按 就 clearTimeout清除掉长按的计时,走单击

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题