export function imgLoadError (node, callback) { node.addEventListener('error', callback) return { teardown () { node.removeEventListener('error', callback) } } } export function imgLoad (node, callback) { node.addEventListener('load', callback) return { teardown () { node.removeEventListener('load', callback) } } } export function mouseover (node, callback) { function onMouseEnter () { callback(true) // eslint-disable-line } function onMouseLeave () { callback(false) // eslint-disable-line } node.addEventListener('mouseenter', onMouseEnter) node.addEventListener('mouseleave', onMouseLeave) return { teardown () { node.removeEventListener('mouseenter', onMouseEnter) node.removeEventListener('mouseleave', onMouseLeave) } } }