微信小程式單擊事件與長按事件衝突的解決辦法

2022-09-09 10:57:19 字數 511 閱讀 5523

眾所周知,在小程式中,長按事件一鬆手是會觸發單擊事件的,而在我們的實際需求中,往往是需要單擊事件和長按事件並存的。

然而,小程式卻又好像想到了這種情況似的,給了我們乙個觸控開始,乙個觸控結束

也就是,一共有四個事件:

這就給了我們手動區別長按與單擊的可能

我們希望的效果是:

1.單擊就是單擊,沒有什麼可解釋的

2.長按事件觸發後就不要單擊事件再觸發了。

ok,我是這麼做的:

1.首先做兩個變數,乙個用來控制單擊是否可用,乙個用來檢查長按是否被觸發

//page data

data:

2.在各個事件中一頓操作

tap(e) ,

// 長按事件

longtap() ,

// 觸控開始

touchstart() ,

// 觸控結束

touchend() ,

親測可用,完美解決

微信小程式區分點選,長按事件

touchstart 手指觸控 longtap 手指觸控後後,超過350ms離開 touchend 手指觸控動作結束 tap 手指觸控後離開 事件觸發順序 單擊touchstart touchend tap 長按touchstart longtap touchend tap 通過上 可以發現,單擊事...

微信小程式 事件

事件繫結 事件繫結的寫法同元件的屬性,以 key value 的形式。key 以bind或catch開頭,然後跟上事件的型別,如bindtap,catchtouchstart value 是乙個字串,需要在對應的 page 中定義同名的函式。不然當觸發事件的時候會報錯。bind事件繫結不會阻止冒泡事...

微信小程式事件小結

1 事件繫結bindtap 如上,給增加了乙個golink的方法,那如何獲取事件的入參?先將需要傳遞的引數通過data 形式寫在元素上,上面 golink 要傳遞linkeurl,直接在image元素上新增data linke url直接看golink方法 開啟url鏈結 golink functi...