functionprocessEvent(event){if(event.changedTouches){// 单点触控var currentTouch =null;if(event.type =="touchstart"){// 假如当前无触摸点,则新建一个if(this.touchID ==null){this.touchID = event.changedTouches[0].identifier;
currentTouch = event.changedTouches[0];}else{returnfalse;}}elseif(event.type =="touchmove"){// 判断触发当前事件的触摸点中是否有touchID对应的触摸点for(let i =0; i < event.changedTouches.length; i++){if(event.changedTouches[i].identifier ==this.touchID){
currentTouch = event.changedTouches[i];break;}}if(!currentTouch){returnfalse;}}elseif(event.type =="touchend"|| event.type =="touchcancel"){// 判断触发当前事件的触摸点中是否有touchID对应的触摸点for(let i =0; i < event.changedTouches.length; i++){if(event.changedTouches[i].identifier ==this.touchID){
currentTouch = event.changedTouches[i];break;}}if(currentTouch){this.touchID =null;}else{returnfalse;}}// do something for current touch pointreturntrue;}returnfalse;}
3、绑定触控事件
obj.addEventListener('touchStart',(e)=>{var flag =processEvent(e);if(!flag){return;}// do something});
obj.addEventListener('touchMove',(e)=>{var flag =processEvent(e);if(!flag){return;}// do something});
obj.addEventListener('touchEnd',(e)=>{var flag =processEvent(e);if(!flag){return;}// do something});
obj.addEventListener('touchCancel',(e)=>{var flag =processEvent(e);if(!flag){return;}// do something});