mine-h5-ui
Version:
一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍
19 lines (18 loc) • 985 B
JavaScript
const i = (a, c) => {
let d = !1;
const u = (e) => {
let s, o;
const r = e.type;
return r === "touchend" ? (s = e.changedTouches[0].clientX, o = e.changedTouches[0].clientY) : r.startsWith("touch") ? (s = e.touches[0].clientX, o = e.touches[0].clientY) : (s = e.clientX, o = e.clientY), { x: s, y: o, type: r };
}, t = (e) => {
c.move?.(u(e));
}, n = (e) => {
document.removeEventListener("mousemove", t), document.removeEventListener("mouseup", n), document.removeEventListener("touchmove", t), document.removeEventListener("touchend", n), d = !1, c.end?.(u(e));
}, v = (e) => {
d || (e.preventDefault(), document.addEventListener("mousemove", t), document.addEventListener("mouseup", n), document.addEventListener("touchmove", t), document.addEventListener("touchend", n), d = !0, c.start?.(u(e)));
};
a.addEventListener("mousedown", v, { passive: !1 }), a.addEventListener("touchstart", v, { passive: !1 });
};
export {
i as useMoveHandle
};