微信小程序剛推出不久,看好和研究的人很多,問題也不少,微信小程序點(diǎn)擊事件重復(fù)觸發(fā)的問題估計(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就行。如下圖:
二、長按和點(diǎn)擊事件重復(fù),觸發(fā)長按事件的時(shí)候會(huì)觸發(fā)點(diǎn)擊事件??慈缦率录敿?xì)過程。
單擊 touchstart → touchend → tap
長按 touchstart → longtap → touchend → tap
所以長按的時(shí)候必然會(huì)觸發(fā)點(diǎn)擊事件,那么如何解決呢?方維網(wǎng)絡(luò)的解決辦法是通過偵聽touchstart和 touchend事件執(zhí)行的時(shí)間差,如果時(shí)間差大于350毫秒則為長按事件,不執(zhí)行點(diǎn)擊。這個(gè)可在點(diǎn)擊事件里進(jìn)行判斷。如下圖
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自http://pdcharm.com/news/3551.html