function my_tap(dom,callBack){ //第一不能超過延時(shí)時(shí)間,第二不能使移動(dòng) //獲取一些必要的值開始時(shí)間,延時(shí)時(shí)間,是否是移動(dòng) var startTime=0; var delayTime=200; var isMove=false; dom.addEventListener("touchstart",function(event){ //記錄開始時(shí)間 startTime=Date.now(); }); dom.addEventListener("touchmove",function(event){ //如果發(fā)生了移動(dòng)就改變isMove的值 isMove=true; }); dom.addEventListener("touchend",function(event){ //如果發(fā)生了移動(dòng)就不執(zhí)行回調(diào) if(isMove) return; //如果大于延時(shí)時(shí)間就不執(zhí)行回調(diào)函數(shù) if(Date.now()-startTime>delayTime) return; callBack(event); }); }在移動(dòng)端(這里小編還是強(qiáng)調(diào)一下把頁面變成移動(dòng)端頁面千萬別忘記視口屬性viewport的設(shè)置)中我們的瀏覽器只認(rèn)識(shí)三個(gè)事件(touchstart、touchmove、touchend),而我們使用其他的框架封裝的事件全都是使用這三個(gè)事件來封裝來的,那么我們接下來就給大家拿一個(gè)實(shí)例來分析一下如何使用這三個(gè)基礎(chǔ)的函數(shù)來進(jìn)行封裝!
好現(xiàn)在我們來分析一下整個(gè)函數(shù)封裝的思路:如果是輕敲的話那必須滿足兩個(gè)條件:1.按住的事件不能超過延時(shí)時(shí)間2.不能再頁面中移動(dòng),也就是說不能出發(fā)touchmove事件
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注