Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import type { Attachment } from 'svelte/attachments';
import { clicked } from 'clicked';
export function onlongpress(
timeout: number,
callbacks: {
long: (e: MouseEvent | TouchEvent) => void;
short?: (e: MouseEvent | TouchEvent) => void;
}
): Attachment<HTMLElement> {
return (node) => {
const c = clicked(
node,
({ event, type }) => {
if (type === 'long-clicked') callbacks.long(event);
if (type === 'clicked') callbacks.short?.(event);
},
{
clicked: true,
longClicked: true,
longClickedTime: timeout,
}
);
return () => c.destroy();
};
}
|