@bigcommerce/stencil-utils
Version:
Utility library used by BigCommerce Stencil Framework themes
15 lines (13 loc) • 488 B
JavaScript
import EventEmitter from 'eventemitter3';
export default class extends EventEmitter {
subscribe(eventName, elementSelector, handler) {
document.addEventListener(eventName, function (e) {
for (let { target } = e; target && target !== this; target = target.parentNode) {
if (target.matches(elementSelector)) {
handler.call(target, e, target);
break;
}
}
}, false);
}
}