733 B
733 B
title, tags, expertise, author, firstSeen, lastUpdated
| title | tags | expertise | author | firstSeen | lastUpdated |
|---|---|---|---|---|---|
| Handle click outside | browser,event | intermediate | chalarangelo | 2021-01-06T13:57:56+02:00 | 2021-01-06T13:57:56+02:00 |
Runs the callback whenever the user clicks outside of the specified element.
- Use
EventTarget.addEventListener()to listen for'click'events. - Use
Node.contains()to check ifEvent.targetis a descendant ofelementand runcallbackif not.
const onClickOutside = (element, callback) => {
document.addEventListener('click', e => {
if (!element.contains(e.target)) callback();
});
};
onClickOutside('#my-element', () => console.log('Hello'));
// Will log 'Hello' whenever the user clicks outside of #my-element