微信小程序刚推出不久,看好和研究的人很多,问题也不少,微信小程序点击事件重复触发的问题估计大家经常遇到,那么如何解决呢?主要有以下两种情况:
一、子内容块和父内容块都设置了点击事件,当子内容块除非点击事件时,父内容块也会触发点击事件。如下图所示
这种情况比较好解决,只要区分好冒泡事件和非冒泡事件就行,微信也有想关的事件区分,只要父内容块用bindtap,子内容块用catchtap就行。如下图:
二、长按和点击事件重复,触发长按事件的时候会触发点击事件。看如下事件详细过程。
单击 touchstart → touchend → tap
长按 touchstart → longtap → touchend → tap
所以长按的时候必然会触发点击事件,那么如何解决呢?方维网络的解决办法是通过侦听touchstart和 touchend事件执行的时间差,如果时间差大于350毫秒则为长按事件,不执行点击。这个可在点击事件里进行判断。如下图