UNPKG

@jsxc/jsxc

Version:

Real-time XMPP chat application with video calls, file transfer and encrypted communication

33 lines (24 loc) 674 B
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;