微信小程序剛推出不久,看好和研究的人很多,問(wèn)題也不少,微信小程序點(diǎn)擊事件重復(fù)觸發(fā)的問(wèn)題估計(jì)大家經(jīng)常遇到,那么如何解決呢?主要有以下兩種情況:
一、子內(nèi)容塊和父內(nèi)容塊都設(shè)置了點(diǎn)擊事件,當(dāng)子內(nèi)容塊除非點(diǎn)擊事件時(shí),父內(nèi)容塊也會(huì)觸發(fā)點(diǎn)擊事件。如下圖所示

這種情況比較好解決,只要區(qū)分好冒泡事件和非冒泡事件就行,微信也有想關(guān)的事件區(qū)分,只要父內(nèi)容塊用bindtap,子內(nèi)容塊用catchtap就行。如下圖:
二、長(zhǎng)按和點(diǎn)擊事件重復(fù),觸發(fā)長(zhǎng)按事件的時(shí)候會(huì)觸發(fā)點(diǎn)擊事件??慈缦率录敿?xì)過(guò)程。
單擊 touchstart → touchend → tap
長(zhǎng)按 touchstart → longtap → touchend → tap
所以長(zhǎng)按的時(shí)候必然會(huì)觸發(fā)點(diǎn)擊事件,那么如何解決呢?方維網(wǎng)絡(luò)的解決辦法是通過(guò)偵聽(tīng)touchstart和 touchend事件執(zhí)行的時(shí)間差,如果時(shí)間差大于350毫秒則為長(zhǎng)按事件,不執(zhí)行點(diǎn)擊。這個(gè)可在點(diǎn)擊事件里進(jìn)行判斷。如下圖

如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://723918.com/news/3551.html