@jsxc/jsxc
Version:
Real-time XMPP chat application with video calls, file transfer and encrypted communication
33 lines (24 loc) • 674 B
text/typescript
const onLongPress = (element: JQuery<HTMLElement>, handler: () => void): void => {
const duration = 1000;
let durationTimeout: number;
let isLongPress: boolean;
element.on('mousedown', ev => {
isLongPress = false;
durationTimeout = window.setTimeout(() => {
ev.stopPropagation();
ev.preventDefault();
isLongPress = true;
handler();
}, duration);
});
element.on('mouseup', () => {
window.clearTimeout(durationTimeout);
});
element.on('click', ev => {
if (isLongPress) {
ev.stopPropagation();
ev.preventDefault();
}
});
};
export default onLongPress;