Skip to content

Instantly share code, notes, and snippets.

@rndme
Created March 20, 2026 05:05
Show Gist options
  • Select an option

  • Save rndme/0b9e2df05f6e442a5cb92a491ae7ef57 to your computer and use it in GitHub Desktop.

Select an option

Save rndme/0b9e2df05f6e442a5cb92a491ae7ef57 to your computer and use it in GitHub Desktop.
handy addEventListener wrapper
function ael(dest, type, fn, ops){
let ret={ dest, type, fn, ops, elm: dest };
if(typeof dest === "string"){
ret.elm = document;
ret.fn = function(e){ if(e.target.matches(dest)) return ret.fn.call(this, e, ret); };
}
ret.remove = x=>ret.elm.removeEventListener(ret.elm, type, ret.fn, ops);
ret.add = ael.bind(this, dest);
ret.elm.addEventListener(type, ret.fn, ops);
return ret;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment