微信小程序 函數(shù)防抖 解決重復(fù)點(diǎn)擊消耗性能問(wèn)題實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序使用函數(shù)防抖解決重復(fù)點(diǎn)擊消耗性能問(wèn)題實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
wxml:
<view bindtap="doubleTap" bindtouchstart="touchStart" bindtouchend="touchEnd">click me</view>
js:
// 防止重復(fù)點(diǎn)擊 touchStart(e) { this.touchStartTime = e.timeStamp; }, touchEnd(e) { this.touchEndTime = e.timeStamp; }, doubleTap(e) { var vm = this; // 控制點(diǎn)擊事件在350ms內(nèi)觸發(fā),加這層判斷是為了防止長(zhǎng)按時(shí)會(huì)觸發(fā)點(diǎn)擊事件 if (vm.touchEndTime - vm.touchStartTime < 350) { // 當(dāng)前點(diǎn)擊的時(shí)間 var currentTime = e.timeStamp; var lastTapTime = vm.lastTapTime; // 更新最后一次點(diǎn)擊時(shí)間 vm.lastTapTime = currentTime; // 如果兩次點(diǎn)擊時(shí)間在300毫秒內(nèi),則認(rèn)為是雙擊事件 if (currentTime - lastTapTime > 300) { // do something 點(diǎn)擊事件具體執(zhí)行那個(gè)業(yè)務(wù) } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript 三種方法實(shí)現(xiàn)獲得和設(shè)置以及移除元素屬性
獲得和設(shè)置以及移除元素屬性在操作dom的過(guò)程中會(huì)經(jīng)常遇到吧,為了提高工作的效率本文整理了一些快捷操作方法和大家一起分享,感興趣的朋友可以參考下哈2013-03-03JavaScript中yield實(shí)用簡(jiǎn)潔實(shí)現(xiàn)方式
原以為是一個(gè)蠻復(fù)雜的題目,想了許久沒(méi)思路,當(dāng)然要實(shí)現(xiàn)絕對(duì)能實(shí)現(xiàn),但如果分析JavaScript腳本或是動(dòng)態(tài)產(chǎn)生代碼,都太復(fù)雜了。2010-06-06javascript禁制后退鍵(Backspace)實(shí)例代碼
這篇文章介紹了javascript禁制后退鍵(Backspace)實(shí)例代碼,有需要的朋友可以參考一下2013-11-11JS中toFixed()方法四舍五入的精度問(wèn)題詳解
最近在做項(xiàng)目的時(shí)候,遇到了有四舍五入保留兩位的需求,當(dāng)時(shí)不假思索的直接使用了js原生的toFixed方法,結(jié)果出現(xiàn)了問(wèn)題,這篇文章主要給大家介紹了關(guān)于JS中toFixed()方法四舍五入精度問(wèn)題的相關(guān)資料,需要的朋友可以參考下2021-10-10npm install 、npm install --save 和&n
這篇文章主要介紹了npm install 、npm install --save 和 npm install --save-dev的區(qū)別介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04