tocca.min.js
https://cdn.jsdelivr.net/npm/tocca@2.0.9/Tocca.min.js
/*! * tocca.min.js */ /*! tocca v0.2.0-beta.2 || Gianluca Guarini */ !var SWIPE_THRESHOLD=50;if(!function(t,e){"use strict";if("function"!=typeof t.createEvent)return!1;var n,o,i,r,s,a,l,c,u="undefined"!=typeof jQuery,p=function(t){var e=t.toLowerCase(),n="MS"+t;return navigator.msPointerEnabled?n:e},h=!!navigator.pointerEnabled||navigator.msPointerEnabled,d=function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch||h},f=function(t){var e=d(),n=/mouse/.test(t.type);return!n&&e&&/touch/.test(t.type)&&!h||!n&&e&&!/touch/.test(t.type)&&h||n&&!e},m={touchstart:p("PointerDown")+" touchstart",touchend:p("PointerUp")+" touchend",touchmove:p("PointerMove")+" touchmove"},g=function(t,e,n){for(var o=e.split(" "),i=o.length;i--;)t.addEventListener(o[i],n,!1)},y=function(t){return t.targetTouches?t.targetTouches[0]:t},v=function(){return(new Date).getTime()},_=function(e,i,r,s){var a=t.createEvent("Event");if(a.originalEvent=r,(s=s||{}).x=n,s.y=o,s.distance=s.distance,u&&(a=$.Event(i,{originalEvent:r}),jQuery(e).trigger(a,s)),a.initEvent){for(var l in s)a[l]=s[l];a.initEvent(i,!0,!0),e.dispatchEvent(a)}e["on"+i]&&e["on"+i](a)},S=function(t){if(f(t)){var e=y(t);i=n=e.pageX,r=o=e.pageY,c=setTimeout((function(){_(t.target,"longtap",t),a=t.target}),T),s=v(),I++}},b=function(t){if(f(t)){var e=[],u=v(),p=r-o,h=i-n;if(clearTimeout(l),clearTimeout(c),-k>=h&&e.push("swiperight"),h>=k&&e.push("swipeleft"),-k>=p&&e.push("swipedown"),p>=k&&e.push("swipeup"),e.length)for(var d=0;d<e.length;d++){var m=e[d];_(t.target,m,t,{distance:{x:Math.abs(h),y:Math.abs(p)}})}else i>=n-x&&n+x>=i&&r>=o-x&&o+x>=r&&s+E-u>=0&&(_(t.target,2===I&&a===t.target?"dbltap":"tap",t),a=t.target),l=setTimeout((function(){I=0}),C)}},w=function(t){if(f(t)){var e=y(t);n=e.pageX,o=e.pageY}},k=e.SWIPE_THRESHOLD||100,E=e.TAP_THRESHOLD||150,C=e.DBL_TAP_THRESHOLD||200,T=e.LONG_TAP_THRESHOLD||1e3,x=e.TAP_PRECISION/2||30,A=e.JUST_ON_TOUCH_DEVICES,I=0;g(t,m.touchstart+(A?"":" mousedown"),S),g(t,m.touchend+(A?"":" mouseup"),b),g(t,m.touchmove+(A?"":" mousemove"),w)}(document,window);
Comments
Post a Comment