click-outside.ts
1 export default function clickOutside( 2 node: HTMLElement, 3 handler: (event: any) => void, 4 ) { 5 const handleClick = (event) => { 6 if (!node.contains(event.target)) { 7 handler(event); 8 } 9 }; 10 11 document.addEventListener('click', handleClick); 12 13 return { 14 destroy() { 15 document.removeEventListener('click', handleClick); 16 }, 17 }; 18 }