mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-11 02:12:53 +00:00
2 lines
1.4 KiB
JavaScript
Vendored
2 lines
1.4 KiB
JavaScript
Vendored
const a="ontouchend"in document,u={bind:function(e,_){let c=500,s="default",r=!1,n=null,o=_.value;if($A.isJson(_.value)&&(c=_.value.delay||500,o=_.value.callback),typeof o!="function")throw"callback must be a function";e.__longpressContextmenu__=t=>{t.preventDefault(),t.stopPropagation(),s==="default"&&o(t,e)},e.addEventListener("contextmenu",e.__longpressContextmenu__),a&&(e.__longpressStart__=t=>{t.type==="click"&&t.button!==0||(s="touch",r=!1,n===null&&(n=setTimeout(()=>{s==="touch"&&(r=!0,o(t.touches[0],e))},c)))},e.__longpressCancel__=t=>{n!==null&&(clearTimeout(n),n=null),s="default"},e.__longpressClick__=t=>{r&&(t.preventDefault(),t.stopPropagation()),e.__longpressCancel__(t)},e.addEventListener("touchstart",e.__longpressStart__),e.addEventListener("click",e.__longpressClick__),e.addEventListener("touchmove",e.__longpressCancel__),e.addEventListener("touchend",e.__longpressCancel__),e.addEventListener("touchcancel",e.__longpressCancel__))},unbind(e){e.removeEventListener("contextmenu",e.__longpressContextmenu__),delete e.__longpressContextmenu__,a&&(e.removeEventListener("touchstart",e.__longpressStart__),e.removeEventListener("click",e.__longpressClick__),e.removeEventListener("touchmove",e.__longpressCancel__),e.removeEventListener("touchend",e.__longpressCancel__),e.removeEventListener("touchcancel",e.__longpressCancel__),delete e.__longpressStart__,delete e.__longpressClick__,delete e.__longpressCancel__)}};export{u as l};
|