mirror of
https://github.com/Pomax/BezierInfo-2.git
synced 2025-08-27 02:05:34 +02:00
31 lines
827 B
JavaScript
31 lines
827 B
JavaScript
function enrich(element) {
|
|
if (!element) return element;
|
|
|
|
element.__listeners = {};
|
|
|
|
element.listen = function (evtNames, handler) {
|
|
if (!evtNames.map) evtNames = [evtNames];
|
|
evtNames.forEach((evtName) => {
|
|
element.addEventListener(evtName, handler);
|
|
if (!element.__listeners[evtName]) {
|
|
element.__listeners[evtName] = [];
|
|
}
|
|
element.__listeners[evtName].push(handler);
|
|
});
|
|
}.bind(element);
|
|
|
|
element.ignore = function (evtNames, handler) {
|
|
if (!evtNames.map) evtNames = [evtNames];
|
|
evtNames.forEach((evtName) => {
|
|
if (!handler) {
|
|
return element.__listeners[evtName].forEach((h) => element.removeEventListener(evtName, h));
|
|
}
|
|
element.removeEventListener(evtName, handler);
|
|
});
|
|
}.bind(element);
|
|
|
|
return element;
|
|
}
|
|
|
|
export { enrich };
|