小程序模板網(wǎng)

踩坑:觸發(fā)bindlongtap同時(shí)觸發(fā)bindtap,wx.request帶參數(shù)發(fā)生錯誤,bindtap 多次點(diǎn)擊

發(fā)布時(shí)間:2018-04-16 10:36 所屬欄目:小程序開發(fā)教程

一:當(dāng)一個(gè)元素上同時(shí)綁定了bindtap與bindlongtap的時(shí)候觸發(fā)bindlongtap同時(shí)依然會觸發(fā)bindtap

分享者:bug_zero,原文地址 
解決方案: 
由于目前在微信小程序上bindlongtap被放置在bindtap后面觸發(fā),同時(shí)bindtap觸發(fā)時(shí)間為touchend,則我們可以額外自定義一個(gè)函數(shù)用來判斷觸發(fā)的是tap還是longtap代碼如下(在需要處理的頁面page內(nèi)定義):

 

				
  1. //touchstart時(shí)候觸發(fā)
  2. setTapStartTime : function () {
  3. this.setData({
  4. startTime : Date.now()
  5. })
  6. },
  7. //tap或者longtap時(shí)候觸發(fā)時(shí)判斷
  8. isTap : function () {
  9. return Date.now() - this.data.startTime < 200;
  10. }
 

二:wx.request的請求地址帶上參數(shù)時(shí)候會發(fā)生錯誤,無法正常請求(目前未了解到是否是哪邊的問題):

解決方案:參數(shù)一律放在data內(nèi)

 

三:bindtap 多次點(diǎn)擊,可以打開N個(gè)窗口

分享者:月老,原文地址  目前在華為手機(jī)上出現(xiàn),其他機(jī)型沒測試

 

				
  1. <view class="toufang row" bindtap="{{setTask}}" data-href="taskSet/taskRewen/index">view>
 

				
  1. bindViewTap: function(event) {
  2.  
  3. var accountId=app.getAccountId();
  4. if(!accountId){
  5. app.getUserInfo(function(userInfo){})
  6. }
  7. var url=event.currentTarget.dataset.href;
  8. wx.navigateTo({
  9. url: "../"+url
  10. })
  11. }

快速的多次點(diǎn)擊就會出現(xiàn)打開多過窗口。(第一次加載的頁面沒有這種情況,是在內(nèi)頁出現(xiàn))。建議修復(fù)或給出解決方案。謝謝  問題已經(jīng)解決,自己琢磨了一下,可以根據(jù)timeStamp的時(shí)間差來設(shè)置  1、在app.js定義全局變量 lastTapTime

 

				
  1. globalData:{
  2. lastTapTime : 0
  3. }

2、設(shè)置事件的時(shí)間差

 

				
  1. var app = getApp();
  2.  
  3. bindViewTap: function(event) {
  4. var url=e.currentTarget.dataset.href;
  5. var time=e.timeStamp;
  6. //設(shè)置無效點(diǎn)擊,根據(jù)自己的需求設(shè)置,這里navigateTo切換頁面到動畫結(jié)束需要的時(shí)間為500毫秒左右
  7. if(time - app.globalData.lastTapTime < 500 && app.globalData.lastTapTime != 0){
  8. app.globalData.lastTapTime = time;//這里一定更新無效點(diǎn)擊的時(shí)間
  9. return;
  10. }
  11. //更新有效點(diǎn)擊的時(shí)間
  12. app.globalData.lastTapTime = time;
  13. wx.navigateTo({
  14. url:url
  15. })
  16. }

大家可以嘗試封裝成方法,調(diào)用即可。



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.u-renovate.com/wxmini/doc/course/23437.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢
AI智能客服 ×