Skip to content

Instantly share code, notes, and snippets.

@drawcode
Created July 26, 2018 19:24
Show Gist options
  • Save drawcode/b19e0dd1af37aa7012c8d6535767c6bb to your computer and use it in GitHub Desktop.
Save drawcode/b19e0dd1af37aa7012c8d6535767c6bb to your computer and use it in GitHub Desktop.
native-events-js
div {
padding:1em;
margin:1em;
background:#dadada;
}
<div class="hasOnClick">
Has onclick
</div>
<div class="foo">
No onclick
</div>
<div class="hasOnClick">
<span>Has onclick</span>
</div>
const delegateEventListener = ( event, selector, fn ) => document.addEventListener( event, e => {
const elements = [...document.querySelectorAll( selector )];
if( elements.includes( e.target ) || elements.some( element => element.contains( e.target ) )){
fn(e);
}
});
delegateEventListener("click", "div.hasOnClick", e => {
console.log( e );
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment