@livelybone/mouse-wheel
Version:
A module for bind mouse-wheel event. typescript supported
10 lines (8 loc) • 2.05 kB
JavaScript
/**
* Bundle of @livelybone/mouse-wheel
* Generated: 2020-05-16
* Version: 4.2.1
* License: MIT
* Author: 2631541504@qq.com
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).MouseWheel={})}(this,function(e){"use strict";var i="",d="addEventListener",l="removeEventListener",s="wheel";function o(c,e,p,t){var v,n=3<arguments.length&&void 0!==t?t:{},w={debounceTime:n.debounceTime||0,interval:n.interval||500,useCapture:n.useCapture||!1},f=0;function o(e){var t,n,o,i,d,l,a,r="wheel"===s?e:(t=e||window.event,n={originalEvent:t,timeStamp:t.timeStamp,target:t.target||t.srcElement,type:"wheel",deltaMode:"MozMousePixelScroll"===t.type?0:1,deltaX:0,deltaY:0,deltaZ:0,preventDefault:function(){t.preventDefault?t.preventDefault():t.returnValue=!1}},"mousewheel"===s?(n.deltaY=-.025*t.wheelDelta,t.wheelDeltaX&&(n.deltaX=-.025*t.wheelDeltaX)):n.deltaY=t.detail,n),u=r.timeStamp-f,m="wheelMove";u<w.debounceTime||(w.interval<u&&(m="wheelStart"),(o=1)===r.deltaMode?(d=(i=c)instanceof Window?document.documentElement:i,l=window.getComputedStyle(d).fontSize||"16px",o=parseInt(l,10)):2===r.deltaMode&&(o=window.innerHeight),a="wheelStart"!==m?u:0,p({dx:r.deltaX*o||0,dy:r.deltaY*o||0,dz:r.deltaZ*o||0,dTime:a,originalEvent:r,type:m}),f=r.timeStamp,clearTimeout(v),v=setTimeout(function(){p({dx:0,dy:0,dz:0,dTime:a+w.interval,originalEvent:{timeStamp:r.timeStamp+w.interval},type:"wheelEnd"})},w.interval))}return(0,c[d])(i+e,o,w.useCapture),function(){(0,c[l])(i+e,o,w.useCapture)}}"undefined"!=typeof window&&"undefined"!=typeof document&&("addEventListener"in window?(d="addEventListener",l="removeEventListener"):(d="attachEvent",l="detachEvent",i="on"),s="onwheel"in document.createElement("div")?"wheel":void 0!==window.onmousewheel?"mousewheel":"DOMMouseScroll");e.bind=function(e,t,n){return"function"==typeof e&&(n=t,t=e,e=window),o(e,"DOMMouseScroll"===s?"MozMousePixelScroll":s,t,n)},Object.defineProperty(e,"__esModule",{value:!0})});