migu/common/modules/longpress.js
NoCrypt 5ef28324df feat: secondary RSS click action
long press or right click will go to anime episodes list
2024-08-09 23:55:52 +07:00

27 lines
No EOL
606 B
JavaScript

export function longpress(node, cb = () => {}) {
const threshold = 500
const handle_mousedown = () => {
let start = Date.now();
const timeout = setTimeout(() => {
cb();
}, threshold);
const cancel = () => {
clearTimeout(timeout);
node.removeEventListener('mousemove', cancel);
node.removeEventListener('mouseup', cancel);
};
node.addEventListener('mousemove', cancel);
node.addEventListener('mouseup', cancel);
}
node.addEventListener('mousedown', handle_mousedown);
return {
destroy() {
node.removeEventListener('mousedown', handle_mousedown);
}
};
}