mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-13 03:52:50 +00:00
2 lines
1.4 KiB
JavaScript
Vendored
2 lines
1.4 KiB
JavaScript
Vendored
const r=$A.isIos()&&"ontouchend"in document,a={bind:function(e,_){let c=500,s=_.value;if($A.isJson(_.value)&&(c=_.value.delay||500,s=_.value.callback),typeof s!="function")throw"callback must be a function";if(e.__longpressContextmenu__=n=>{n.preventDefault(),n.stopPropagation(),r||s(n,e)},e.addEventListener("contextmenu",e.__longpressContextmenu__),!r)return;let t=null,o=!1;e.__longpressStart__=n=>{n.type==="click"&&n.button!==0||(o=!1,t===null&&(t=setTimeout(()=>{o=!0,s(n.touches[0],e)},c)))},e.__longpressCancel__=n=>{t!==null&&(clearTimeout(t),t=null)},e.__longpressClick__=n=>{o&&(n.preventDefault(),n.stopPropagation()),e.__longpressCancel__(n)},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__,r&&(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{a as l};
|