Skip to content

Instantly share code, notes, and snippets.

@souporserious
Last active May 21, 2017 16:57
Show Gist options
  • Save souporserious/6e5aa97de2301897c72b285a30be711a to your computer and use it in GitHub Desktop.
Save souporserious/6e5aa97de2301897c72b285a30be711a to your computer and use it in GitHub Desktop.
function outy(nodes, types, eventHandler) {
nodes = Array.isArray(nodes) ? nodes : [nodes]
types = Array.isArray(types) ? types : [types]
function handleEvent(e) {
for (var i = nodes.length; i--; ) {
if (nodes[i].contains(e.target)) return
}
eventHandler(e)
}
for (var i = types.length; i--; ) {
document.addEventListener(types[i], handleEvent)
}
return {
remove: function() {
for (var i = types.length; i--; ) {
document.removeEventListener(types[i], handleEvent)
}
},
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment