微信小程序剛推出不久,看好和研究的人很多,問(wèn)題也不少,微信小程序點(diǎn)擊事件重復觸發(fā)的問(wèn)題估計大家經(jīng)常遇到,那么如何解決呢?主要有以下兩種情況: 一、子內容塊和父內容塊都設置了點(diǎn)擊事件,當子內容塊除非點(diǎn)擊事件時(shí),父內容塊也會(huì )觸發(fā)點(diǎn)擊事件。如下圖所示 這種情況比較好解決,只要區分好冒泡事件和非冒泡事件就行,微信也有想關(guān)的事件區分,只要父內容塊用bindtap,子內容塊用catchtap就行。如下圖: ? 二、長(cháng)按和點(diǎn)擊事件重復,觸發(fā)長(cháng)按事件的時(shí)候會(huì )觸發(fā)點(diǎn)擊事件??慈缦率录敿氝^(guò)程。 單擊???????? touchstart → touchend → tap 長(cháng)按???????? touchstart → longtap → touchend → tap 所以長(cháng)按的時(shí)候必然會(huì )觸發(fā)點(diǎn)擊事件,那么如何解決呢?嘉興網(wǎng)絡(luò )的解決辦法是通過(guò)偵聽(tīng)touchstart和 touchend事件執行的時(shí)間差,如果時(shí)間差大于350毫秒則為長(cháng)按事件,不執行點(diǎn)擊。這個(gè)可在點(diǎn)擊事件里進(jìn)行判斷。如下圖